Re: [PATCH 2/2] memory-hotplug: remove reset_node_managed_pages() and reset_node_managed_pages() in hotadd_new_pgdat()

From: Tang Chen
Date: Wed Aug 26 2015 - 03:21:00 EST



On 08/24/2015 07:24 PM, Xishi Qiu wrote:
......
[ 2007.584000] On node 5 totalpages: 0
[ 2007.585000] Built 5 zonelists in Node order, mobility grouping on. Total pages: 32588823
[ 2007.594000] Policy zone: Normal
[ 2007.598000] init_memory_mapping: [mem 0x60000000000-0x607ffffffff]


And also, if we merge this patch, /sys/devices/system/node/nodeX/meminfo will break.

trigger call trace?
No. There is no error output. But if you see /sys/devices/system/node/nodeX/meminfo,
memory size will double because totalpages is calculated once here, and one more time
when onlining memory.

Hi Tang,

Do you mean si_meminfo_node() -> val->totalram = managed_pages; will be added double?
But my patch will keep it 0 in hotadd_new_pgdat(), so it will not be double, right?


Hi,

I mean this:

online_pages()
|--> zone->zone_pgdat->node_present_pages += onlined_pages;

It will be double.

Since meminfo data is retrieved from these kernel structures, /proc/meminfo
will be broken.


Actually speaking, reset it when hot-adding memory is not a good idea.
We should make the memory init code be suitable for both boot code and
memory hot-plug code.


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