diff options
Diffstat (limited to 'include/linux/rcupdate.h')
-rw-r--r-- | include/linux/rcupdate.h | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/include/linux/rcupdate.h b/include/linux/rcupdate.h index 86f1f5e43e33..1168fbcea8d4 100644 --- a/include/linux/rcupdate.h +++ b/include/linux/rcupdate.h | |||
@@ -52,11 +52,15 @@ struct rcu_head { | |||
52 | void (*func)(struct rcu_head *head); | 52 | void (*func)(struct rcu_head *head); |
53 | }; | 53 | }; |
54 | 54 | ||
55 | #ifdef CONFIG_CLASSIC_RCU | 55 | #if defined(CONFIG_CLASSIC_RCU) |
56 | #include <linux/rcuclassic.h> | 56 | #include <linux/rcuclassic.h> |
57 | #else /* #ifdef CONFIG_CLASSIC_RCU */ | 57 | #elif defined(CONFIG_TREE_RCU) |
58 | #include <linux/rcutree.h> | ||
59 | #elif defined(CONFIG_PREEMPT_RCU) | ||
58 | #include <linux/rcupreempt.h> | 60 | #include <linux/rcupreempt.h> |
59 | #endif /* #else #ifdef CONFIG_CLASSIC_RCU */ | 61 | #else |
62 | #error "Unknown RCU implementation specified to kernel configuration" | ||
63 | #endif /* #else #if defined(CONFIG_CLASSIC_RCU) */ | ||
60 | 64 | ||
61 | #define RCU_HEAD_INIT { .next = NULL, .func = NULL } | 65 | #define RCU_HEAD_INIT { .next = NULL, .func = NULL } |
62 | #define RCU_HEAD(head) struct rcu_head head = RCU_HEAD_INIT | 66 | #define RCU_HEAD(head) struct rcu_head head = RCU_HEAD_INIT |
@@ -142,6 +146,7 @@ struct rcu_head { | |||
142 | * on the write-side to insure proper synchronization. | 146 | * on the write-side to insure proper synchronization. |
143 | */ | 147 | */ |
144 | #define rcu_read_lock_sched() preempt_disable() | 148 | #define rcu_read_lock_sched() preempt_disable() |
149 | #define rcu_read_lock_sched_notrace() preempt_disable_notrace() | ||
145 | 150 | ||
146 | /* | 151 | /* |
147 | * rcu_read_unlock_sched - marks the end of a RCU-classic critical section | 152 | * rcu_read_unlock_sched - marks the end of a RCU-classic critical section |
@@ -149,6 +154,7 @@ struct rcu_head { | |||
149 | * See rcu_read_lock_sched for more information. | 154 | * See rcu_read_lock_sched for more information. |
150 | */ | 155 | */ |
151 | #define rcu_read_unlock_sched() preempt_enable() | 156 | #define rcu_read_unlock_sched() preempt_enable() |
157 | #define rcu_read_unlock_sched_notrace() preempt_enable_notrace() | ||
152 | 158 | ||
153 | 159 | ||
154 | 160 | ||