aboutsummaryrefslogtreecommitdiff
path: root/include/linux/preempt.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/linux/preempt.h')
-rw-r--r--include/linux/preempt.h7
1 files changed, 5 insertions, 2 deletions
diff --git a/include/linux/preempt.h b/include/linux/preempt.h
index de83b4eb1642..411a5c6371da 100644
--- a/include/linux/preempt.h
+++ b/include/linux/preempt.h
@@ -15,12 +15,15 @@
*/
#define PREEMPT_NEED_RESCHED 0x80000000
+#define tif_need_resched() test_thread_flag(TIF_NEED_RESCHED)
+
#include <asm/preempt.h>
#if defined(CONFIG_DEBUG_PREEMPT) || defined(CONFIG_PREEMPT_TRACER)
extern void preempt_count_add(int val);
extern void preempt_count_sub(int val);
-#define preempt_count_dec_and_test() ({ preempt_count_sub(1); should_resched(); })
+#define preempt_count_dec_and_test() \
+ ({ preempt_count_sub(1); should_resched(0); })
#else
#define preempt_count_add(val) __preempt_count_add(val)
#define preempt_count_sub(val) __preempt_count_sub(val)
@@ -59,7 +62,7 @@ do { \
#define preempt_check_resched() \
do { \
- if (should_resched()) \
+ if (should_resched(0)) \
__preempt_schedule(); \
} while (0)