Re: [PATCH 08/40] mm: kmem_cache_objsize

From: Christoph Lameter
Date: Fri May 04 2007 - 15:58:47 EST


On Fri, 4 May 2007, Pekka Enberg wrote:

> Christoph Lameter wrote:
> > SLAB can calculate exactly how many pages are needed. The per cpu and per
> > node stuff is setup at boot and does not change. We are talking about the
> > worst case scenario here. True in case of an off slab
> > we have additional overhead that would also have to go into worst case
> > scenario.
>
> Fair enough. But there's no way it can take into account any slab management
> structures it needs to allocate. The slab simply doesn't know how many pages
> are needed to _allocate n amount of objects_.

In the worst case we will need need nr_objects / nr_object_per_slab off slab management
structures. There is one off slab management object per allocated slab.

> Peter is interested in a _rough estimate_ so I don't see the point of adding
> that kind of logic in the slab. It's an API that simply cannot satisfy all its
> callers which is why I suggested exposing buffer size in the first place (the
> slab certainly knows how many bytes it needs for one object).

But the slab size is not useful to the caller since the caller does not
know about off slab structures etc. It is only the SLAB that can
calculate the worst case.

-
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/