Merge branch 'linus' into core/urgent
[linux-2.6-block.git] / include / linux / preempt.h
index 2e681d9555bdfd5db5326a6d37aab860cd417152..58969b2a8a8292deb33a215006eade8659764d6d 100644 (file)
 
 asmlinkage void preempt_schedule(void);
 
+#define preempt_check_resched() \
+do { \
+       if (unlikely(test_thread_flag(TIF_NEED_RESCHED))) \
+               preempt_schedule(); \
+} while (0)
+
+#else /* !CONFIG_PREEMPT */
+
+#define preempt_check_resched()                do { } while (0)
+
+#endif /* CONFIG_PREEMPT */
+
+
+#ifdef CONFIG_PREEMPT_COUNT
+
 #define preempt_disable() \
 do { \
        inc_preempt_count(); \
@@ -39,12 +54,6 @@ do { \
        dec_preempt_count(); \
 } while (0)
 
-#define preempt_check_resched() \
-do { \
-       if (unlikely(test_thread_flag(TIF_NEED_RESCHED))) \
-               preempt_schedule(); \
-} while (0)
-
 #define preempt_enable() \
 do { \
        preempt_enable_no_resched(); \
@@ -80,18 +89,17 @@ do { \
        preempt_check_resched(); \
 } while (0)
 
-#else
+#else /* !CONFIG_PREEMPT_COUNT */
 
 #define preempt_disable()              do { } while (0)
 #define preempt_enable_no_resched()    do { } while (0)
 #define preempt_enable()               do { } while (0)
-#define preempt_check_resched()                do { } while (0)
 
 #define preempt_disable_notrace()              do { } while (0)
 #define preempt_enable_no_resched_notrace()    do { } while (0)
 #define preempt_enable_notrace()               do { } while (0)
 
-#endif
+#endif /* CONFIG_PREEMPT_COUNT */
 
 #ifdef CONFIG_PREEMPT_NOTIFIERS