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

Christoph Lameter
2007-08-10T02:01:55Z

On Thu, 9 Aug 2007, Daniel Phillips wrote:

> No matter how you look at this problem, you still need to have _some_
> sort of reserve, and limit access to it. We extend existing methods,

The reserve is in the memory in the zone and reclaim can guarantee that
there are a sufficient number of easily reclaimable pages in it.

> you are proposing to what seems like an entirely new reserve

The reserve always has been managed by per zone counters. Nothing new
there.

> management system. Great idea, maybe, but it does not solve the
> deadlocks. You still need some organized way of being sure that your
> reserve is as big as you need (hopefully not an awful lot bigger) and
> you still have to make sure that nobody dips into that reserve further
> than they are allowed to.

Nope there is no need to have additional reserves. You delay the writeout
until you are finished with reclaim. Then you do the writeout. During
writeout reclaim may be called as needed. After the writeout is complete
then you recheck the vm counters again to be sure that dirty ratio /
easily reclaimable ratio and mem low / high boundaries are still okay. If not go
back to reclaim.

> So translation: reclaim from "easily freeable" lists is an
> optimization, maybe a great one. Probably great. Reclaim from atomic
> context is also a great idea, probably. But you are talking about a
> whole nuther patch set. Neither of those are in themselves a fix for
> these deadlocks.

Yes they are a much better fix and may allow code cleanup by getting rid
of checks for PF_MEMALLOC. They integrate in a straightforward way
into the existing reclaim methods.