Re: [PATCH] sched: Move the sleeping while atomic checks early in cond_resched()

Peter Zijlstra
2009-07-10T18:13:55Z

On Fri, 2009-07-10 at 20:08 +0200, Frederic Weisbecker wrote:

> > Right, how about renaming these to _cond_resched_{lock,softirq}, and
> > added a __might_sleep() definition for !DEBUG_SPINLOCK_SLEEP and add
> > macro wrappers to sched.c for these two as well?
>
> I did that first but thought that might_sleep() would fail in a spinlock
> held or softirq context, right?

Ah, right.. maybe we can add a preempt_count_offset parameter to
__might_sleep() such that it will compensate for the pending
spin_unlock()/local_bh_enable().