Messages in this thread | | | From | Daniel Phillips <> | Subject | Re: spinlock assertion macros | Date | Fri, 12 Jul 2002 19:42:09 +0200 |
| |
On Friday 12 July 2002 21:24, Arnd Bergmann wrote: > Daniel Phillips wrote: > > > Any idea how one might implement NEVER_SLEEPS()? Maybe as: > > Why would you want that? AFAICS there are two kinds of "never > sleeping" functions: 1. those that don't sleep but don't care > about it and 2. those that must not sleep because a lock is > held. > > For 1. no point marking it because it might change without > being a bug. You also don't want to mark every function > in the kernel SLEEPS() or NEVER_SLEEPS(). > > For 2. we already have MUST_HOLD(foo) or similar, which implicitly > means it can never sleep. The same is true for functions > with spinlocks or preempt_disable around their body.
Thanks for that.
So far, only the MUST_HOLD style of executable locking documentation has really survived scrutiny. It needs some variants: MUST_HOLD_READ, MUST_HOLD_WRITE, MUST_HOLD_SEM, MUST_HOLD_READ_SEM and MUST_HOLD_WRITE_SEM, or names to that effect.
-- Daniel - 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/
| |