[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <Pine.LNX.4.64.0708201220500.29092@schroedinger.engr.sgi.com>
Date: Mon, 20 Aug 2007 12:26:09 -0700 (PDT)
From: Christoph Lameter <clameter@....com>
To: Pekka Enberg <penberg@...helsinki.fi>
cc: Peter Zijlstra <a.p.zijlstra@...llo.nl>,
linux-kernel@...r.kernel.org, linux-mm@...ck.org,
David Miller <davem@...emloft.net>,
Andrew Morton <akpm@...ux-foundation.org>,
Daniel Phillips <phillips@...gle.com>,
Matt Mackall <mpm@...enic.com>,
Lee Schermerhorn <Lee.Schermerhorn@...com>,
Steve Dickson <SteveD@...hat.com>
Subject: Re: [PATCH 04/10] mm: slub: add knowledge of reserve pages
On Mon, 20 Aug 2007, Pekka Enberg wrote:
> Hi Peter,
>
> On Mon, 2007-08-20 at 12:12 +0300, Pekka J Enberg wrote:
> > > Any reason why the callers that are actually interested in this don't do
> > > page->reserve on their own?
>
> On 8/20/07, Peter Zijlstra <a.p.zijlstra@...llo.nl> wrote:
> > because new_slab() destroys the content?
>
> Right. So maybe we could move the initialization parts of new_slab()
> to __new_slab() so that the callers that are actually interested in
> 'reserve' could do allocate_slab(), store page->reserve and do rest of
> the initialization with it?
I am still not convinced about this approach and there seems to be
agreement that this is not working on large NUMA. So #ifdef it out?
!CONFIG_NUMA? Some more general approach that does not rely on a single
slab being a reserve?
The object is to check the alloc flags when having allocated a reserve
slab right? Adding another flag SlabReserve and keying off on that one may
be the easiest solution.
I have pending patches here that add per cpu structures. Those will make
that job easier.
> As for the __GFP_WAIT handling, I *think* we can move the interrupt
> enable/disable to allocate_slab()... Christoph?
The reason the enable/disable is in new_slab is to minimize interrupt
holdoff time. If we move it to allocate slab then the slab preparation is
done with interrupts disabled.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists