Re: [PATCH] Introduce down_nowait()

Andrew Morton
2008-05-21T08:20:32Z

On Wed, 21 May 2008 04:04:53 -0400 Christoph Hellwig <hch@infradead.org> wrote:

> On Tue, May 20, 2008 at 11:29:03PM -0700, Andrew Morton wrote:
> > Actually, I don't thing down_nowait() is a terribly good name, because it
> > doesn't tell the reader anything about what to expect from the return
> > value. Does a non-zero return mean that down_wait() acquired the lock,
> > or does it not? Something like down_try() would be better, because if
> > it returns 1 we can say "ah, the trying succeeded".
>
> Actually, it does,

No it doesn't. If anything, a "true" return from something called
"down_nowait()" means "I didn't wait!". Or something.

> and the kerneldoc comment explains it in every detail
> for those who need to read it up.

Shouldn't be necessary to look it up. By that argument we could
call it eat_at_joes() and sell the advertising space.

> Then again semaphores and on their
> way out, and I really hate the kind of churn this thing introduces at
> this moment. Please let all the semaphore to completion/mutex/other
> construct change settle for a while, and with a little chance this gem
> will just go away entirely.

Well, we can walk and chew gum at the same time.

The number of down_trylocks in rc3 is 51 and the number of
down_trylocks and down_nowaits in -mm is 47. So progress is pretty
glacial.

<wonders why -mm still has seven down_trlyocks>

<oh>

./kernel/semaphore.c
./kernel/mutex.c
./include/linux/semaphore.h

Anyway, yes, I agree that the whole effort is a bit dubious and that
the time could be better directed to semaphore eliminations.