Re: [PATCH 5/5] powerpc: Don't use SLAB/SLUB for PTE pages
From: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Date: 2007-05-08 21:17:40
On Tue, 2007-05-08 at 20:50 +0100, Hugh Dickins wrote:
On Tue, 8 May 2007, Benjamin Herrenschmidt wrote:quoted
From: Hugh Dickins <redacted> 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 <redacted> Signed-off-by: Benjamin Herrenschmidt <benh@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.