On Wed, Jun 19, 2019 at 08:23:30AM +0200, Michal Hocko wrote: > On Tue 18-06-19 08:55:37, Wei Yang wrote: > > In case of NODE_NOT_IN_PAGE_FLAGS is set, we store section's node id in > > section_to_node_table[]. While for hot-add memory, this is missed. > > Without this information, page_to_nid() may not give the right node id. > > Which would mean that NODE_NOT_IN_PAGE_FLAGS doesn't really work with > the hotpluged memory, right? Any idea why nobody has noticed this > so far? Is it because NODE_NOT_IN_PAGE_FLAGS is rare and essentially > unused with the hotplug? page_to_nid providing an incorrect result > sounds quite serious to me. The thing is that for NODE_NOT_IN_PAGE_FLAGS to be enabled we need to run out of space in page->flags to store zone, nid and section. Currently, even with the largest values (with pagetable level 5), that is not possible on x86_64. It is possible though, that somewhere in the future, when the values get larger (e.g: we add more zones, NODE_SHIFT grows, or we need more space to store the section) we finally run out of room for the flags though. I am not sure about the other arches though, we probably should audit them and see which ones can fall in there. -- Oscar Salvador SUSE L3