On Fri, Jun 21, 2024 at 03:54:31AM +0100, Matthew Wilcox wrote: > I think a more productive solution to contention on the LRU lock is to > increase the number of zones. I don't think it's helpful to have a > 1TB zone of memory. Maybe we should limit each zone to 16GB or so. > That means we'd need to increase the number of zones we support, but > I think that's doable. What do you mean by zones? The usual ZONE_{DMA|DMA32|NORMAL|HIGHMEM}? But that's historically existed to deal with physical addressing limitations (e.g. DMA for devices that can't deal with addresses larger than 16MiB, or HIGHMEM on 32-bits to access physical memory beyond what could be directly mapped by the kernel). Maybe you mean turning ZONE_NORMAL into an array with each entry pointing to a smaller ZONE_NORMAL region of, let's say, 64GiB or smthng. Or it could be divided by the number of CPUs within the NUMA node and each CPU will be given one ZONE_NORMAL segment with a fallback list to other CPUs segments in case it runs out of memory. Does that make sense? Cheers Karim PhD Student Edinburgh University