* Michal Hocko <mhocko@xxxxxxxxxx> [2020-07-03 12:59:44]: > > Honestly, I do not have any idea. I've traced it down to > > Author: Andi Kleen <ak@xxxxxxx> > > Date: Tue Jan 11 15:35:48 2005 -0800 > > > > [PATCH] x86_64: Fix ACPI SRAT NUMA parsing > > > > Fix fallout from the recent nodemask_t changes. The node ids assigned > > in the SRAT parser were off by one. > > > > I added a new first_unset_node() function to nodemask.h to allocate > > IDs sanely. > > > > Signed-off-by: Andi Kleen <ak@xxxxxxx> > > Signed-off-by: Linus Torvalds <torvalds@xxxxxxxx> > > > > which doesn't really tell all that much. The historical baggage and a > > long term behavior which is not really trivial to fix I suspect. > > Thinking about this some more, this logic makes some sense afterall. > Especially in the world without memory hotplug which was very likely the > case back then. It is much better to have compact node mask rather than > sparse one. After all node numbers shouldn't really matter as long as > you have a clear mapping to the HW. I am not sure we export that > information (except for the kernel ring buffer) though. > > The memory hotplug changes that somehow because you can hotremove numa > nodes and therefore make the nodemask sparse but that is not a common > case. I am not sure what would happen if a completely new node was added > and its corresponding node was already used by the renumbered one > though. It would likely conflate the two I am afraid. But I am not sure > this is really possible with x86 and a lack of a bug report would > suggest that nobody is doing that at least. > JFYI, Satheesh copied in this mailchain had opened a bug a year on crash with vcpu hotplug on memoryless node. https://bugzilla.kernel.org/show_bug.cgi?id=202187 -- Thanks and Regards Srikar Dronamraju