Re: [RFC] mmiotrace full patch, preview 1

From: Andy Whitcroft
Date: Tue Feb 26 2008 - 03:57:21 EST


On Mon, Feb 25, 2008 at 09:42:00PM -0500, Pavel Roskin wrote:
> Quoting Christoph Hellwig <hch@xxxxxxxxxxxxx>:
>
> >On Mon, Feb 25, 2008 at 02:49:22PM -0800, Andrew Morton wrote:
> >>the things which it finds.
> >>
> >>> +static DECLARE_MUTEX(kmmio_init_mutex);
> >>
> >>That's not a mutex.
> >>
> >>> + down(&kmmio_init_mutex);
> >>
> >>It's a semaphore. Please do convert it to a mutex.
> >>
> >>Andy, I'd say that addition of new semaphores is worth a warning - they're
> >>rarely legitimate.
> >
> >I'm not sure that any semaphore should be a warning, but the initializer
> >for semaphore used as binary mutex (DECLARE_MUTEX and init_MUTEX) are
> >worth it.
>
> It looks like a mutex, it acts like a mutex, but it isn't a mutex,
> it's a trap for the unwary. Weird. I was annoyed by it before; now I
> see a fellow developer actually getting into that trap.
>
> I'd say, rename DECLARE_MUTEX to DECLARE_SEMAPHORE and let external
> code be fixed one way or another (i.e. stick with the "mutex" name or
> stick with the semaphore functionality if it's really needed).

I like the fact that in evey architecture its defined as:

#define DECLARE_MUTEX(name) __DECLARE_SEMAPHORE_GENERIC(name,1)

-apw
--
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/