Messages in this thread | | | Date | Mon, 9 Jul 2007 09:51:16 -0700 | From | Andrew Morton <> | Subject | Re: [patch 09/10] Remove the SLOB allocator for 2.6.23 |
| |
On Mon, 9 Jul 2007 09:06:46 -0700 (PDT) Christoph Lameter <clameter@sgi.com> wrote:
> But yes the power of > two caches are a necessary design feature of SLAB/SLUB that allows O(1) > operations of kmalloc slabs which in turns causes memory wastage because > of rounding of the alloc to the next power of two.
I've frequently wondered why we don't just create more caches for kmalloc: make it denser than each-power-of-2-plus-a-few-others-in-between.
I assume the tradeoff here is better packing versus having a ridiculous number of caches. Is there any other cost?
Because even having 1024 caches wouldn't consume a terrible amount of memory and I bet it would result in aggregate savings.
Of course, a scheme which creates kmalloc caches on-demand would be better, but that would kill our compile-time cache selection, I suspect. - 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/
| |