On Mon, Feb 25, 2008 at 09:42:00PM -0500, Pavel Roskin wrote:
> Quoting Christoph Hellwig <[EMAIL PROTECTED]>:
> 
> >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 [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to