summaryrefslogtreecommitdiff
path: root/include/linux/preempt.h
diff options
context:
space:
mode:
authorThomas Gleixner <tglx@linutronix.de>2011-03-21 13:32:17 +0100
committerIngo Molnar <mingo@elte.hu>2012-03-01 10:28:04 +0100
commitba74c1448f127649046615ec017bded7b2a76f29 (patch)
tree33eceaf0c4b35aca095e3e1a678bdbab23006650 /include/linux/preempt.h
parentbd2f55361f18347e890d52ff9cfd8895455ec11b (diff)
downloadlwn-ba74c1448f127649046615ec017bded7b2a76f29.tar.gz
lwn-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 'include/linux/preempt.h')
-rw-r--r--include/linux/preempt.h5
1 files changed, 4 insertions, 1 deletions
diff --git a/include/linux/preempt.h b/include/linux/preempt.h
index 58969b2a8a82..5a710b9c578e 100644
--- a/include/linux/preempt.h
+++ b/include/linux/preempt.h
@@ -48,12 +48,14 @@ do { \
barrier(); \
} while (0)
-#define preempt_enable_no_resched() \
+#define sched_preempt_enable_no_resched() \
do { \
barrier(); \
dec_preempt_count(); \
} while (0)
+#define preempt_enable_no_resched() sched_preempt_enable_no_resched()
+
#define preempt_enable() \
do { \
preempt_enable_no_resched(); \
@@ -92,6 +94,7 @@ do { \
#else /* !CONFIG_PREEMPT_COUNT */
#define preempt_disable() do { } while (0)
+#define sched_preempt_enable_no_resched() do { } while (0)
#define preempt_enable_no_resched() do { } while (0)
#define preempt_enable() do { } while (0)