Re: [RFC/PATCH 1/3] SLAB: Add PageSlab checking to ksize()

From: Paul Mundt
Date: Thu May 22 2008 - 00:57:18 EST


On Thu, May 22, 2008 at 07:43:02AM +0300, Pekka Enberg wrote:
> Paul Mundt wrote:
> >Shouldn't SLOB's PageSlab usage should mimic that of SLUB in this case
> >instead? PG_slab doesn't buy us much if we can already sort out the size
> >through compound_order(), it's the kmem_cache_alloc() and <= PAGE_SIZE
> >kmalloc()'s where __GFP_COMP isn't true and where PG_slab should be set.
>
> Well, we should really be calling ksize() in the nommu case and although
> Matt and Christoph don't seem to agree with me here, I'd much rather
> have *all* allocators set PageSlab for all the pages they return (yes,
> including pass-through ones) to get us back where we were with SLAB. We
> currently don't have any means to see whether an arbitrary page is part
> of the slab or not and I'd argue that's PageSlab is an established API
> (that makes sense).
>
> Furthermore, if ksize() in SLOB doesn't work for kmem_cache_alloc()
> pages, I think it should be fixed as well.
>
SLOB's kmem_cache_alloc() pages won't have PageSlab set, so ksize()
will never be called, and we will simply always return PAGE_SIZE from
kobjsize() for those objects, as they don't set __GFP_COMP either.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/