[<prev] [next>] [day] [month] [year] [list]
Message-ID: <35f686220607140948g2b0eab42i8c2f182e729cc8e1@mail.gmail.com>
Date: Fri, 14 Jul 2006 09:48:15 -0700
From: "Alok kataria" <alokkataria1@...il.com>
To: "Christoph Lameter" <clameter@....com>
Cc: "Andrew Morton" <akpm@...l.org>, arjan@...radead.org,
torvalds@...l.org, penberg@...helsinki.fi, mingo@...e.hu,
sekharan@...ibm.com, linux-kernel@...r.kernel.org,
nagar@...son.ibm.com, balbir@...ibm.com,
alok.kataria@...softinc.com, kiran@...lex86.com
Subject: Re: [patch] lockdep: annotate mm/slab.c
On 7/13/06, Christoph Lameter <clameter@....com> wrote:
> On Thu, 13 Jul 2006, Christoph Lameter wrote:
>
> > The fix by removing the dropping of the lock in free_block could cause
> > retaking the list_lock that we already hold in the OFF_SLAB case (even in
> > the non NUMA case).
>
> That retaking only occurs if the general slab cache used for the cache
> management is the same general slab where we are freeing from.
>
> Otherwise we are acquiring the list_locks of two distinct slab caches
There can be a _theoretical_ case in which we have a cache (X) which
has its slab descriptor from another cache (Y), and this caches slab
descriptor too comes from another cache (Z) ...and so on.
In this case there can be a recursive lock issue.
But _practically_ speaking i don't think this nesting of
slab-descriptors can go down till a depth greater than 2 (because
slab-descriptors come from a array-size cache, and getting a slab
descriptor which has size greater than 1K is very rare). And this
thing forming a cycle is virtually impossible.
> which may introduce an issue of lock ordering.
>
> So reversing the patch seems to be the right measure after all. But we
> have the two weird locking scenarios above.
Yes that is the easiest way out, but let me give it a second thought.
Thanks & Regards,
Alok
> -
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majordomo@...r.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at http://www.tux.org/lkml/
>
--
A computer scientist is someone who, when told to "Go to Hell," sees
the "go to," rather than the destination, as harmful.
Alok Kataria
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists