On Mon, 2007-05-14 at 09:29 -0700, Christoph Lameter wrote: > On Mon, 14 May 2007, Matt Mackall wrote: > > > privileged thread unprivileged greedy process > > kmem_cache_alloc(...) > > adds new slab page from lowmem pool > > Yes but it returns an object for the privileged thread. Is that not > enough?
No, because we reserved memory for n objects, and like matt illustrates most of those that will be eaten by the greedy process. We could reserve 1 page per object but that rather bloats the reserve. > > do_io() > > kmem_cache_alloc(...) > > kmem_cache_alloc(...) > > kmem_cache_alloc(...) > > kmem_cache_alloc(...) > > kmem_cache_alloc(...) > > ... > > eats it all > > kmem_cache_alloc(...) -> ENOMEM > > who ate my donuts?! > > > > But I think this solution is somehow overkill. If we only care about > > this issue in the OOM avoidance case, then our rank reduces to a > > boolean. I tried to slim it down to a two state affair; but last time I tried performance runs that actually slowed it down some. - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/