Re: Page allocator: Single Zone optimizations

Hugh Dickins
2006-11-06T17:12:47Z

On Mon, 6 Nov 2006, Andi Kleen wrote:
> On Monday 06 November 2006 18:00, Christoph Lameter wrote:
> > On Mon, 6 Nov 2006, Andi Kleen wrote:
> >
> > > > Because acceses to the structure can occur after kfree. The RCU
> > > > implementation only delays the destruction of the slab. Locks are always
> > > > in a definite state regardless if the object is in use or not.
> > >
> > > Only objects that have been used at least once can be still visible. And
> > > those would be still constructed of course -- just after the kmem_cache_alloc,
> > > not inside. For those that have never been used it shouldn't matter.
> >
> > Constructors are only called on allocation of the slab, not on
> > kmem_cache_alloc.
>
> I know this.
>
> > And you are right: It does not matter for those that
> > have never been used.
>
> This means it is fine to replace the constructor with an function
> that runs after kmem_cache_alloc() in this case.

But where will you do the spin_lock_init?

Hugh