Messages in this thread | | | Date | Sat, 21 Jan 2012 12:43:02 -0800 | From | Randy Dunlap <> | Subject | Re: [PATCH 1/3] idr: make idr_get_next() good for rcu_read_lock() |
| |
On 01/20/2012 07:45 PM, Hugh Dickins wrote: > On Fri, 20 Jan 2012, Andrew Morton wrote: >> On Thu, 19 Jan 2012 12:48:48 -0800 (PST) >> Hugh Dickins <hughd@google.com> wrote: >>> Copied comment on RCU locking from idr_find(). >>> >>> + * >>> + * This function can be called under rcu_read_lock(), given that the leaf >>> + * pointers lifetimes are correctly managed. >> >> Awkward comment. It translates to "..., because the leaf pointers >> lifetimes are correctly managed". >> >> Is that what we really meant? Or did we mean "..., provided the leaf >> pointers lifetimes are correctly managed"? > > You are right, and part of me realized that even as I copied in the > comment. I wanted to express the same optimism for idr_get_next() > as was already expressed for idr_find() - whatever it meant ;) > > I thought it was meaning a bit of both: idr.c is managing its end well > enough that rcu_read_lock() can now be used, but the caller has to > manage their locking and lifetimes appropriately too. > >> >> Also, "pointers" should have been "pointer" or "pointer's"! > > You're afraid of Linus turning his "its/it's" wrath from Al to yourself. > > Since "lifetimes" is in the plural, I think it would have to be > "pointers'" - I _think_ that's correct, rather than "pointers's".
That seems correct to me also.
> But then, it's not the lifetimes of the pointers, but the lifetimes > of the objects that they point to, that's in question. So what it > ought to say is... > > ... falls asleep.
ack.
and thanks for doing all of that radix tree test harness work, Hugh.
-- ~Randy *** Remember to use Documentation/SubmitChecklist when testing your code ***
| |