sched/rt: Document scheduler related skip-resched-check sites

Create a distinction between scheduler related preempt_enable_no_resched()
calls and the nearly one hundred other places in the kernel that do not
want to reschedule, for one reason or another.

This distinction matters for -rt, where the scheduler and the non-scheduler
preempt models (and checks) are different. For upstream it's purely
documentational.

Signed-off-by: Thomas Gleixner <[email protected]>
Link: http://lkml.kernel.org/n/[email protected]
Signed-off-by: Ingo Molnar <[email protected]>
This commit is contained in:
Thomas Gleixner 2011-03-21 13:32:17 +01:00 • committed by Ingo Molnar
commit ba74c1448f
5 changed files with 11 additions and 8 deletions

View file

@ -3220,7 +3220,7 @@ need_resched:
post_schedule(rq);
preempt_enable_no_resched();
sched_preempt_enable_no_resched();
if (need_resched())
goto need_resched;
}
@ -3253,7 +3253,7 @@ EXPORT_SYMBOL(schedule);
*/
void __sched schedule_preempt_disabled(void)
{
preempt_enable_no_resched();
sched_preempt_enable_no_resched();
schedule();
preempt_disable();
}
@ -4486,7 +4486,7 @@ SYSCALL_DEFINE0(sched_yield)
__release(rq->lock);
spin_release(&rq->lock.dep_map, 1, _THIS_IP_);
do_raw_spin_unlock(&rq->lock);
preempt_enable_no_resched();
sched_preempt_enable_no_resched();
schedule();