[PATCH] spinlock: __raw_spin_is_locked() should return true for UP
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
> > CONFIG_DEBUG_SPINLOCK enabled.
> 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