Re: [PATCH 1/12]: MUTEX: Implement mutexes

From: Steven Rostedt
Date: Sat Dec 17 2005 - 07:36:16 EST



On Sat, 17 Dec 2005, Nick Piggin wrote:

> Steven Rostedt wrote:
> > On Fri, 2005-12-16 at 23:13 +0000, David Howells wrote:
>
> >>This patch set does the following:
> >>
> >> (1) Renames DECLARE_MUTEX and DECLARE_MUTEX_LOCKED to be DECLARE_SEM_MUTEX and
> >> DECLARE_SEM_MUTEX_LOCKED for counting semaphores.
> >>
> >
> >
> > Could we really get rid of that "MUTEX" part. A counting semaphore is
> > _not_ a mutex, although a mutex _is_ a counting semaphore. As is a Jack
> > Russell is a dog, but a dog is not a Jack Russell.
> >
>
> Really?
>
> A Jack Russell is a dog because anything you say about a dog can
> also be said about a Jack Russell.

I said a Jack Russell _is_ a dog, but a dog is not a Jack Russell.
Everything you can say about a dog you can't say about a Jack Russell.
Since, a dog can have other characteristics than a Jack Russell has. A dog
can be big and lazy, but I would not say that about a Jack Russell.

>
> A counting semaphore is a mutex for the same reason (and observe
> that 99% of users use the semaphore as a mutex). A mutex definitely
> is not a counting semaphore. David's implementation of mutexes
> don't count at all.

But a counting semaphore of (one) _is_ a mutex! But a mutex can't have
more than one. As for David's code, that's just arguing implementation,
and not the semantics of it.

-- Steve

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/