According to x86 boot sequence, early_cpu_to_node() always returns NUMA_NO_NODE when called from numa_init(). So kill useless code to improve code readability. Related code sequence as below: x86_cpu_to_node_map is set until step 2, so it is still the default value (NUMA_NO_NODE) when accessed at step 1. start_kernel() setup_arch() initmem_init() x86_numa_init() numa_init() early_cpu_to_node() 1) return early_per_cpu_ptr(x86_cpu_to_node_map)[cpu]; acpi_boot_init(); sfi_init() x86_dtb_init() generic_processor_info() early_per_cpu(x86_cpu_to_apicid, cpu) = apicid; init_cpu_to_node() numa_set_node(cpu, node); 2) per_cpu(x86_cpu_to_node_map, cpu) = node; rest_init() kernel_init() smp_init() native_cpu_up() start_secondary() numa_set_node() per_cpu(x86_cpu_to_node_map, cpu) = node; Signed-off-by: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> --- arch/x86/mm/numa.c | 10 ---------- 1 file changed, 10 deletions(-) diff --git a/arch/x86/mm/numa.c b/arch/x86/mm/numa.c index 4053bb58bf92..08860bdf5744 100644 --- a/arch/x86/mm/numa.c +++ b/arch/x86/mm/numa.c @@ -591,8 +591,6 @@ static void __init numa_init_array(void) rr = first_node(node_online_map); for (i = 0; i < nr_cpu_ids; i++) { - if (early_cpu_to_node(i) != NUMA_NO_NODE) - continue; numa_set_node(i, rr); rr = next_node(rr, node_online_map); if (rr == MAX_NUMNODES) @@ -644,14 +642,6 @@ static int __init numa_init(int (*init_func)(void)) if (ret < 0) return ret; - for (i = 0; i < nr_cpu_ids; i++) { - int nid = early_cpu_to_node(i); - - if (nid == NUMA_NO_NODE) - continue; - if (!node_online(nid)) - numa_clear_node(i); - } numa_init_array(); return 0; -- 1.7.10.4 -- To unsubscribe from this list: send the line "unsubscribe linux-hotplug" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html