On 19.06.19 09:53, Oscar Salvador wrote: > 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. > I'd love to see NODE_NOT_IN_PAGE_FLAGS go. -- Thanks, David / dhildenb