Messages in this thread | | | Date | Fri, 29 Feb 2008 13:58:52 +0200 | From | "Pekka Enberg" <> | Subject | Re: [PATCH 00/28] Swap over NFS -v16 |
| |
Hi Peter,
On Fri, Feb 29, 2008 at 1:51 PM, Peter Zijlstra <a.p.zijlstra@chello.nl> wrote: > I made page->reserve into PG_emergency and made that bit stick for the > lifetime of that page allocation. I then made kmem_is_emergency() look > up the head page backing that allocation's slab and return > PageEmergency().
[snip]
On Fri, Feb 29, 2008 at 1:51 PM, Peter Zijlstra <a.p.zijlstra@chello.nl> wrote: > This is a stricter model than I had before, and has one ramification I'm > not entirely sure I like. > > It means the page remains a reserve page throughout its lifetime, which > means the slab remains a reserve slab throughout its lifetime. Therefore > it may never be used for !reserve allocations. Which in turn generates > complexities for the partial list.
Hmm, so why don't we then clear the PG_emergency flag then and allocate a new fresh page to the reserves?
On Fri, Feb 29, 2008 at 1:51 PM, Peter Zijlstra <a.p.zijlstra@chello.nl> wrote: > Does this sound like something I should pursuit? I feel it might > complicate the slab allocators too much..
I can't answer that question until I see the code ;-). But overall, I think it's better to put that code in SLUB rather than trying to work around it elsewhere. The fact is, as soon as you have some sort of reservation for _objects_, you need help from the SLUB allocator.
Pekka
| |