Messages in this thread | ![/](/images/icornerl.gif) | | From | Arnd Bergmann <> | Subject | Re: spinlock assertion macros | Date | Wed, 17 Jul 2002 13:09:08 +0200 |
| |
On Wednesday 17 July 2002 04:22, Jesse Barnes wrote: > files? Anyway, I've got spinlock and rwlock versions of them below, > maybe they're useful enough to go in as a start? I only coded the > ia64 version of rwlock_is_*_locked since it was easy--the i386 > versions were a little intimidating... > > I thought Oliver's suggestion for tracking the order of spinlock > acquisition was good, hopefully someone will take a stab at it along > with Dave's FUNCTION_SLEEPS() implementation.
I suppose you can simplify your interface when the code tracking the lock holder (i.e. the address of the lock call) is there:
#define MUST_HOLD(lock) BUG_ON(!(lock)->holder)
is independent of whether lock is a spinlock or an rw_lock, so you don't need MUST_HOLD_READ anymore. I'd even go as far as dropping MUST_HOLD_WRITE as well, since it helps only in the corner case where the lock is held but only for reading.
Arnd <>< - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| ![\](/images/icornerr.gif) |