Messages in this thread | | | Subject | Re: [SLUB 2/3] Large kmalloc pass through. Removal of large general slabs | From | Peter Zijlstra <> | Date | Wed, 07 Mar 2007 10:01:17 +0100 |
| |
On Tue, 2007-03-06 at 18:35 -0800, Christoph Lameter wrote: > Unlimited kmalloc size and removal of general caches >=4. > > We can directly use the page allocator for all allocations 4K and larger. This > means that no general slabs are necessary and the size of the allocation passed > to kmalloc() can be arbitrarily large. Remove the useless general caches over 4k. >
> Index: linux-2.6.21-rc2-mm1/include/linux/slub_def.h > =================================================================== > --- linux-2.6.21-rc2-mm1.orig/include/linux/slub_def.h 2007-03-06 17:56:14.000000000 -0800 > +++ linux-2.6.21-rc2-mm1/include/linux/slub_def.h 2007-03-06 17:57:11.000000000 -0800 > @@ -55,7 +55,7 @@ struct kmem_cache { > */ > #define KMALLOC_SHIFT_LOW 3 > > -#define KMALLOC_SHIFT_HIGH 18 > +#define KMALLOC_SHIFT_HIGH 11 > > #if L1_CACHE_BYTES <= 64 > #define KMALLOC_EXTRAS 2 > @@ -93,13 +93,6 @@ static inline int kmalloc_index(int size > if (size <= 512) return 9; > if (size <= 1024) return 10; > if (size <= 2048) return 11; > - if (size <= 4096) return 12; > - if (size <= 8 * 1024) return 13; > - if (size <= 16 * 1024) return 14; > - if (size <= 32 * 1024) return 15; > - if (size <= 64 * 1024) return 16; > - if (size <= 128 * 1024) return 17; > - if (size <= 256 * 1024) return 18; > return -1; > }
Perhaps so something with PAGE_SIZE here, as you know there are platforms/configs where PAGE_SIZE != 4k :-)
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |