David Miller wrote: > From: Christoph Lameter > Date: Tue, 8 May 2007 18:32:35 -0700 (PDT) > > >>That SLUB cannot do. And I do not believe you. SLOB must have some way to >>distinguish the objects and their sizes since kfree does not include size >>information. You can mix slabs of different size on the same page without >>metadata. Magic? >> >>So how does kfree then know how to free the object? There must be some way >>where you get the metainformation. What is the point of your 8 byte >>metadata that keeps getting inserted? That does not consume memory on a >>page? > > > SLOB uses metadata, but that metadata seemingly only needs to be > uptodate in freed objects. > > SLOB seems to look at the descriptor in the previous blob to figure > out how big the being-freed blob is. That's actually kind of clever > :-) You know how big the being-freed blob is because the kmem cache structure contains that. The free metadata is just needed for free area management. BTW, we _really_ should be doing RCU properly in slob, because you technically can't noop RCU on UP (even though the current users may be safe...). Patch attached to do that. -- SUSE Labs, Novell Inc.