[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <46412BB5.1060605@yahoo.com.au>
Date: Wed, 09 May 2007 12:02:29 +1000
From: Nick Piggin <nickpiggin@...oo.com.au>
To: David Miller <davem@...emloft.net>
CC: clameter@....com, mpm@...enic.com, akpm@...ux-foundation.org,
linux-kernel@...r.kernel.org
Subject: Re: + fix-spellings-of-slab-allocator-section-in-init-kconfig.patch
added to -mm tree
David Miller wrote:
> From: Christoph Lameter <clameter@....com>
> 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.
View attachment "slob-add-rcu.patch" of type "text/plain" (2957 bytes)
Powered by blists - more mailing lists