On Fri, 2013-08-16 at 15:06 +0800, Tang Chen wrote:
> save_add_info() is defined as:
> 
>       #ifdef CONFIG_MEMORY_HOTPLUG
>       static inline int save_add_info(void) {return 1;}
>       #else
>       static inline int save_add_info(void) {return 0;}
>       #endif
> 
> which means it is true when memory hotplug is configured.
> 
> In acpi_numa_memory_affinity_init(), it checks the memory hotplug
> flag in SRAT memory affinity and save_add_info() like this:
> 
>       if ((ma->flags & ACPI_SRAT_MEM_HOT_PLUGGABLE) && !save_add_info())
>               goto out_err;
>       ......
>       node = setup_node(pxm);
>       numa_add_memblk(node, start, end);
>       ......
> 
> which means if the memory range is hotpluggable, but memory hotplug is not
> configured, it won't add these memory to numa_meminfo.
> 
> After this, numa_meminfo_cover_memory() will fail, which will finally cause
> numa_init() to fail.
> 
> numa_init()
>  |->numa_register_memblks()
>      |->numa_meminfo_cover_memory()
> 
> When numa_init() fails, it will fallback to numa_init(dummy_numa_init), and
> all numa architecture will not be setup.
> 
> This is nonsense. Even if memory hotplug is not configured, we can also use
> numa architecture.
> 
> Actually, save_add_info() is added by commit 
> 71efa8fdc55e70ec6687c897a30759f0a2c2ad7e
> in 2006. And now it is useless.
> 
> So this patch kill save_add_info() and the nonsense checking.
> 
> Signed-off-by: Tang Chen <tangc...@cn.fujitsu.com>

Good catch!

Acked-by: Toshi Kani <toshi.k...@hp.com>

Thanks,
-Toshi

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to