Messages in this thread | | | Date | Mon, 9 Jul 2012 01:19:09 +0900 | Subject | Re: [PATCH 3/3] slub: release a lock if freeing object with a lock is failed in __slab_free() | From | JoonSoo Kim <> |
| |
2012/7/7 Christoph Lameter <cl@linux.com>: > 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? >
Dropping of the lock is need for getting rid of certain code paths. So, I can't split this patch into two.
Sorry for confusing all the people. I think that I don't explain my purpose well. I will prepare new version in which I explain purpose of patch better.
Thanks for kind review.
| |