On Tue, Jan 30, 2018 at 10:28:15AM +0100, Michal Hocko wrote: > On Tue 30-01-18 10:16:00, Michal Hocko wrote: > > On Tue 30-01-18 14:00:06, Bharata B Rao wrote: > > > Hi, > > > > > > With the latest upstream, I see that memory hotplug is not working > > > as expected. The hotplugged memory isn't seen to increase the total > > > RAM pages. This has been observed with both x86 and Power guests. > > > > > > 1. Memory hotplug code intially marks pages as PageReserved via > > > __add_section(). > > > 2. Later the struct page gets cleared in __init_single_page(). > > > 3. Next online_pages_range() increments totalram_pages only when > > > PageReserved is set. > > > > You are right. I have completely forgot about this late struct page > > initialization during onlining. memory hotplug really doesn't want > > zeroying. Let me think about a fix. > > Could you test with the following please? Not an act of beauty but > we are initializing memmap in sparse_add_one_section for memory > hotplug. I hate how this is different from the initialization case > but there is quite a long route to unify those two... So a quick > fix should be as follows. Tested on Power guest, fixes the issue. I can now see the total memory size increasing after hotplug. Regards, Bharata. -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>