]> git.kernelconcepts.de Git - karo-tx-linux.git/blobdiff - include/linux/hardirq.h
SUNRPC: Clean up the sillyrename code
[karo-tx-linux.git] / include / linux / hardirq.h
index 7803014f3a11bae4f353e7b042c0e1835997c7be..8d302298a161941ce40c6ed47411627d5f0229f8 100644 (file)
 # define in_atomic()   ((preempt_count() & ~PREEMPT_ACTIVE) != 0)
 #endif
 
+#ifdef CONFIG_PREEMPT
+# define PREEMPT_CHECK_OFFSET 1
+#else
+# define PREEMPT_CHECK_OFFSET 0
+#endif
+
+/*
+ * Check whether we were atomic before we did preempt_disable():
+ * (used by the scheduler)
+ */
+#define in_atomic_preempt_off() \
+               ((preempt_count() & ~PREEMPT_ACTIVE) != PREEMPT_CHECK_OFFSET)
+
 #ifdef CONFIG_PREEMPT
 # define preemptible() (preempt_count() == 0 && !irqs_disabled())
 # define IRQ_EXIT_OFFSET (HARDIRQ_OFFSET-1)