Re: The performance and behaviour of the anti-fragmentation relatedpatches

From: Balbir Singh
Date: Thu Mar 01 2007 - 20:40:23 EST


Andrew Morton wrote:
So some urgent questions are: how are we going to do mem hotunplug and
per-container RSS?



Our basic unit of memory management is the zone. Right now, a zone maps
onto some hardware-imposed thing. But the zone-based MM works *well*. I
suspect that a good way to solve both per-container RSS and mem hotunplug
is to split the zone concept away from its hardware limitations: create a
"software zone" and a "hardware zone". All the existing page allocator and
reclaim code remains basically unchanged, and it operates on "software
zones". Each software zones always lies within a single hardware zone. The software zones are resizeable. For per-container RSS we give each
container one (or perhaps multiple) resizeable software zones.

For memory hotunplug, some of the hardware zone's software zones are marked
reclaimable and some are not; DIMMs which are wholly within reclaimable
zones can be depopulated and powered off or removed.

NUMA and cpusets screwed up: they've gone and used nodes as their basic
unit of memory management whereas they should have used zones. This will
need to be untangled.


Anyway, that's just a shot in the dark. Could be that we implement unplug
and RSS control by totally different means. But I do wish that we'd sort
out what those means will be before we potentially complicate the story a
lot by adding antifragmentation.


Paul Menage had suggested something very similar in response to the RFC
for memory controllers I sent out and it was suggested that we create
small zones (roughly 64 MB) to avoid the issue of a zone/node not being
a shareable across containers. Even with a small size, there are some issues. The following thread has the details discussed.

http://lkml.org/lkml/2006/10/30/120

RSS accounting is very easy (with minimal changes to the core mm),
supplemented with an efficient per-container reclaimer, it should be
easy to implement a good per-container RSS controller.

--
Warm Regards,
Balbir Singh
Linux Technology Center
IBM, ISTL
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/