[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <alpine.DEB.2.00.1207061008560.28648@router.home>
Date: Fri, 6 Jul 2012 10:10:41 -0500 (CDT)
From: Christoph Lameter <cl@...ux.com>
To: JoonSoo Kim <js1304@...il.com>
cc: Pekka Enberg <penberg@...nel.org>, linux-kernel@...r.kernel.org,
linux-mm@...ck.org
Subject: Re: [PATCH 3/3] slub: release a lock if freeing object with a lock
is failed in __slab_free()
On Fri, 6 Jul 2012, JoonSoo Kim wrote:
> >> At CPU2, we don't need lock anymore, because this slab already in partial list.
> >
> > For that scenario we could also simply do a trylock there and redo
> > the loop if we fail. But still what guarantees that another process will
> > not modify the page struct between fetching the data and a successful
> > trylock?
>
>
> I'm not familiar with English, so take my ability to understand into
> consideration.
I have a hard time understanding what you want to accomplish here.
> we don't need guarantees that another process will not modify
> the page struct between fetching the data and a successful trylock.
No we do not need that since the cmpxchg will then fail.
Maybe it would be useful to split this patch into two?
One where you introduce the dropping of the lock and the other where you
get rid of certain code paths?
--
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