Re: [announce] [patch] Voluntary Kernel Preemption Patch

Andrea Arcangeli
2004-07-10T00:52:33Z

On Sat, Jul 10, 2004 at 01:50:17AM +0200, Andrea Arcangeli wrote:
> agreed. might_sleep() just like BUG() can be defined to noop.

BTW, this reminded me a related topic that I can't recall being ever
mentioned on l-k: BUG_ON can also be optimized away. So people should be
careful not to do write this:

BUG_ON(test_and_set_bit(p))

but to write this instead:

if (unlikely(test_and_set_bit(p))
BUG()

(in short the check inside a BUG_ON must be strictly read-only since
it's not guaranteed to be computed)