summaryrefslogtreecommitdiff
path: root/include/linux
diff options
context:
space:
mode:
authorIngo Molnar <mingo@elte.hu>2002-06-11 23:26:40 +0200
committerIngo Molnar <mingo@elte.hu>2002-06-11 23:26:40 +0200
commit019afe86fbee596319a952757ff23426319e5d18 (patch)
tree10f885b3ebf3d08b30618cc627012c3c2e39384d /include/linux
parentb5734da13d8c0199e20970e8d315021091d3393b (diff)
- squeeze a few more cycles out of the wakeup hotpath.
Diffstat (limited to 'include/linux')
-rw-r--r--include/linux/spinlock.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/include/linux/spinlock.h b/include/linux/spinlock.h
index 5e1cc9fae5df..194541968c6a 100644
--- a/include/linux/spinlock.h
+++ b/include/linux/spinlock.h
@@ -26,6 +26,7 @@
#define write_lock_bh(lock) do { local_bh_disable(); write_lock(lock); } while (0)
#define spin_unlock_irqrestore(lock, flags) do { spin_unlock(lock); local_irq_restore(flags); } while (0)
+#define _raw_spin_unlock_irqrestore(lock, flags) do { _raw_spin_unlock(lock); local_irq_restore(flags); } while (0)
#define spin_unlock_irq(lock) do { spin_unlock(lock); local_irq_enable(); } while (0)
#define spin_unlock_bh(lock) do { spin_unlock(lock); local_bh_enable(); } while (0)
@@ -143,6 +144,12 @@ do { \
preempt_schedule(); \
} while (0)
+#define preempt_check_resched() \
+do { \
+ if (unlikely(test_thread_flag(TIF_NEED_RESCHED))) \
+ preempt_schedule(); \
+} while (0)
+
#define spin_lock(lock) \
do { \
preempt_disable(); \
@@ -176,6 +183,7 @@ do { \
#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 spin_lock(lock) _raw_spin_lock(lock)
#define spin_trylock(lock) _raw_spin_trylock(lock)