summaryrefslogtreecommitdiff
path: root/include/linux/preempt.h
diff options
context:
space:
mode:
authorBenjamin LaHaise <bcrl@toomuch.toronto.redhat.com>2002-08-21 10:32:55 -0400
committerBenjamin LaHaise <bcrl@toomuch.toronto.redhat.com>2002-08-21 10:32:55 -0400
commit555dbefdfe6bfa613ebf59852ba82872dcc44233 (patch)
tree2ccbed4f787cccc6d93d41e0dca9bfda426b93a1 /include/linux/preempt.h
parentea5097be4e814a2a9457e60653052306295941e8 (diff)
parentd17e9bb6daa227e88f596fd0918e3af20e423261 (diff)
Merge toomuch.toronto.redhat.com:/md0/linux-2.5
into toomuch.toronto.redhat.com:/md0/net-aio/bk/aio-2.5
Diffstat (limited to 'include/linux/preempt.h')
-rw-r--r--include/linux/preempt.h18
1 files changed, 11 insertions, 7 deletions
diff --git a/include/linux/preempt.h b/include/linux/preempt.h
index 3864d46eadba..b4ff1a7c881c 100644
--- a/include/linux/preempt.h
+++ b/include/linux/preempt.h
@@ -1,9 +1,14 @@
#ifndef __LINUX_PREEMPT_H
#define __LINUX_PREEMPT_H
+/*
+ * include/linux/preempt.h - macros for accessing and manipulating
+ * preempt_count (used for kernel preemption, interrupt count, etc.)
+ */
+
#include <linux/config.h>
-#define preempt_count() (current_thread_info()->preempt_count)
+#define preempt_count() (current_thread_info()->preempt_count)
#define inc_preempt_count() \
do { \
@@ -31,17 +36,16 @@ do { \
barrier(); \
} while (0)
-#define preempt_enable() \
+#define preempt_check_resched() \
do { \
- preempt_enable_no_resched(); \
if (unlikely(test_thread_flag(TIF_NEED_RESCHED))) \
preempt_schedule(); \
} while (0)
-#define preempt_check_resched() \
+#define preempt_enable() \
do { \
- if (unlikely(test_thread_flag(TIF_NEED_RESCHED))) \
- preempt_schedule(); \
+ preempt_enable_no_resched(); \
+ preempt_check_resched(); \
} while (0)
#define inc_preempt_count_non_preempt() do { } while (0)
@@ -50,7 +54,7 @@ do { \
#else
#define preempt_disable() do { } while (0)
-#define preempt_enable_no_resched() do {} while(0)
+#define preempt_enable_no_resched() do { } while (0)
#define preempt_enable() do { } while (0)
#define preempt_check_resched() do { } while (0)