Re: [PATCH 04/10] mm: slub: add knowledge of reserve pages

Christoph Lameter
2007-08-08T00:13:52Z

On Mon, 6 Aug 2007, Peter Zijlstra wrote:

> Restrict objects from reserve slabs (ALLOC_NO_WATERMARKS) to allocation
> contexts that are entitled to it.

Is this patch actually necessary?

If you are in an atomic context and bound to a cpu then a per cpu slab is
assigned to you and no one else can take object aways from that process
since nothing else can run on the cpu. The point of the patch is to avoid
other processes draining objects right? So you do not need the
modifications in that case.

If you are not in an atomic context and are preemptable or can switch
allocation context then you can create another context in which reclaim
could be run to remove some clean pages and get you more memory. Again no
need for the patch.

I guess you may be limited in not being able to call into reclaim again
because it is already running. Maybe that can be fixed? F.e. zone reclaim
does that for the NUMA case. It simply scans for easily reclaimable pages.

We could guarantee easily reclaimable pages to exist in much larger
numbers than the reserves of min_free_kbytes. So in a tight spot one could
reclaim from those.