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

Frederic Weisbecker
2009-07-10T18:30:02Z

On Fri, Jul 10, 2009 at 08:13:42PM +0200, Peter Zijlstra wrote:
> 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().

Good idea, I'm trying that.