Re: [PATCH] RT: Invert some TRACE_BUG_ON_LOCKED tests

From: Steven Rostedt
Date: Fri Sep 02 2005 - 17:41:50 EST


On Fri, 2005-09-02 at 13:08 -0700, Tom Rini wrote:
> With 2.6.13-rt4 I had to do the following in order to get my paired down
> config booting on my x86 whitebox (defconfig works fine, after I enable
> enet/8250_console/nfsroot). Daniel Walker helped me trace this down.


Tom,

TRACE_BUG_ON_LOCKED(!spin_is_locked(&lock->wait_lock));

_is_ correct. Those locks must be locked at those cases. If it isn't
then we wan't to trigger a bug. Hence the "BUG_ON" part. You can never
guarantee that a lock will be unlock since another process on another
CPU might have it.

Now if you are getting a BUG, where as one of these places the lock is
_not_ held, then that's a bug.

Hmm, I wonder if these should be switched to __raw_spin_is_locked.

Oh wait, is this a UP system? Shoot, spin_is_locked on UP is defined as
zero so this _would_ trigger. Ouch!

Ingo, I guess we need a TRACE_BUG_ON_LOCKED_SMP() macro.

-- Steve



-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/