Messages in this thread | | | Date | Thu, 22 May 2008 13:55:16 +0900 | From | Paul Mundt <> | Subject | Re: [RFC/PATCH 1/3] SLAB: Add PageSlab checking to ksize() |
| |
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.
| |