> That is what my patchset want to do. > put page tables on the same node like node data. > with that, hotplug and normal case will be the same code path. Page tables are a big issue if we have 4K mappings (8 byte entry per 4K page means 2MB of page tables per GB of memory) ... but only used for DEBUG cases, right? If we use 2M mappings, then allocations are 512x smaller - so only 4K per GB - hard to justify spreading that across nodes. If we can use 1GB mappings - then another 512x reduction to 8 bytes per GB (or 8KB per TB) Aren't page structures a bigger issue? ~64 bytes per 4K page. Do we make sure these get allocated from the NUMA node that they describe? This should not hurt the ZONE_MOVEABLE-ness of this - although they are kernel structures they can be freed when the node is removed (at that point they describe memory that is no longer present). From a scalability perspective we don't want to run node0 low on memory by using it for every other node. >From a NUMA perspective we want the page_t that describes a page to be in the same locality as the page itself. -Tony -- 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