summaryrefslogtreecommitdiffstats
path: root/kernel/sched
diff options
context:
space:
mode:
authorThomas Gleixner2011-03-21 13:32:17 +0100
committerIngo Molnar2012-03-01 10:28:04 +0100
commitba74c1448f127649046615ec017bded7b2a76f29 (patch)
tree33eceaf0c4b35aca095e3e1a678bdbab23006650 /kernel/sched
parentsched/rt: Use schedule_preempt_disabled() (diff)
downloadkernel-qcow2-linux-ba74c1448f127649046615ec017bded7b2a76f29.tar.gz
kernel-qcow2-linux-ba74c1448f127649046615ec017bded7b2a76f29.tar.xz
kernel-qcow2-linux-ba74c1448f127649046615ec017bded7b2a76f29.zip
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 <tglx@linutronix.de> Link: http://lkml.kernel.org/n/tip-gs88fvx2mdv5psnzxnv575ke@git.kernel.org Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'kernel/sched')
-rw-r--r--kernel/sched/core.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/kernel/sched/core.c b/kernel/sched/core.c
index 73022395c00e..643cc37fcb23 100644
--- a/kernel/sched/core.c
+++ b/kernel/sched/core.c
@@ -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();