Messages in this thread | | | Date | Tue, 28 May 2013 10:07:05 +0200 | From | Ingo Molnar <> | Subject | Re: Is spin_is_locked() safe to use with BUG_ON()/WARN_ON()? |
| |
* Ryan Mallon <rmallon@gmail.com> wrote:
> On 24/05/13 01:12, David Howells wrote: > > Linus Torvalds <torvalds@linux-foundation.org> wrote: > > > >> We do *not* want to add some crazy "spin_is_nt_locked". We just want > >> to get rid of these idiotic debug tests. > > > > Generally, I think you are right, though there are also some checks in > > deallocation routines that check that a spinlock is not currently held before > > releasing the memory holding it - should those be allowed to stay? I'd be > > tempted to wrap the whole check in something, perhaps an "spin_lock_uninit()" > > and move the check to a header file. Would this be useful for lockdep or > > anything like that? > > lockdep has lockdep_assert_held(), which might be what you want. Though > it looks like it possibly also has the false positive issues on SMP?
There should be no false positive race in the case that matters: if you are expecting to always hold the lock at that point, and want to make sure (if lock debugging is enabled), that it's truly held.
Thanks,
Ingo
| |