[PATCH 5/5] powerpc: Don't use SLAB/SLUB for PTE pages

Benjamin Herrenschmidt benh at kernel.crashing.org
Wed May 9 07:17:30 EST 2007


On Tue, 2007-05-08 at 20:50 +0100, Hugh Dickins wrote:
> On Tue, 8 May 2007, Benjamin Herrenschmidt wrote:
> > From: Hugh Dickins <hugh at veritas.com>
> > 
> > The SLUB allocator relies on struct page fields first_page and slab,
> > overwritten by ptl when SPLIT_PTLOCK: so the SLUB allocator cannot then
> > be used for the lowest level of pagetable pages.  This was obstructing
> > SLUB on PowerPC, which uses kmem_caches for its pagetables.  So convert
> > its pte level to use normal gfp pages (whereas pmd, pud and 64k-page pgd
> > want partpages, so continue to use kmem_caches for pmd, pud and pgd).
> > 
> > Signed-off-by: Hugh Dickins <hugh at veritas.com>
> > Signed-off-by: Benjamin Herrenschmidt <benh at kernel.crashing.org>
> > ---
> 
> Looks and runs fine for me (though would have seemed nicer to use
> __GFP_ZERO than clear_page - or does that subvert your fast zeroing?).

Nah, you are right, I'll respin. Forgot about __GFP_ZERO. It just called
clear_highpage on the returned pages right ? This is the same as calling
clear_page from my code.

> But you also need to undo the ARCH_USES_SLAB_PAGE_STRUCT from
> arch/powerpc/Kconfig now that's gone into Linus' tree: patch
> I added in testing below (either append to this one or add a 6/5).

I was thinking about adding a new patch.

> For some people that interim disablement was working, for other
> people it wasn't: mysterious, and the sooner it's got rid of the
> better.  I'm sorry to find that oldconfig doesn't actually offer
> the SLAB or SLUB menu (to me anyway) when moving from SLUB disabled
> to SLUB enabled: so again, the sooner we get rid of that interim
> disablement the better for SLUB exposure.

Ok. I'll post a new patch along with the final serie after I've done some
testing later today.

Cheers,
Ben.





More information about the Linuxppc-dev mailing list