[PATCH] spinlock: __raw_spin_is_locked() should return true for UP

Olivier Galibert galibert at pobox.com
Wed Aug 19 19:31:45 EST 2009

On Tue, Aug 18, 2009 at 07:40:16PM -0700, Linus Torvalds wrote:
> On Tue, 18 Aug 2009, Kumar Gala wrote:
> > 
> > I agree its a little too easy to abuse spin_is_locked.  However we should be
> > consistent between spin_is_locked on UP between with and without
> No we shouldn't.
> With CONFIG_DEBUG_SPINLOCK, you have an actual lock variable for debugging 
> purposes, so spin_is_locked() can clearly return a _valid_ answer, and 
> should do so.
> Without DEBUG_SPINLOCK, there isn't any answer to return.
> So there's no way we can or should be consistent. In one case an answer 
> exists, in another one the answer is meaningless and doesn't exist.

I always thought behaviour should be consistent between code with
debugging on and code without.  Otherwise you may end up with cases of
"it starts working when I turn on debugging" which are a pain to fix.
Has something changed?

Or in other words, do you think lockdep should try solving deadlocks
instead of just reporting them for instance?


More information about the Linuxppc-dev mailing list