diff options
Diffstat (limited to 'include')
-rw-r--r-- | include/linux/rcupdate.h | 21 | ||||
-rw-r--r-- | include/linux/rcupreempt.h | 4 | ||||
-rw-r--r-- | include/linux/rcutree.h | 8 |
3 files changed, 23 insertions, 10 deletions
diff --git a/include/linux/rcupdate.h b/include/linux/rcupdate.h index 3c89d6a2591f..e920f0fd59d8 100644 --- a/include/linux/rcupdate.h +++ b/include/linux/rcupdate.h | |||
@@ -157,17 +157,28 @@ extern int rcu_scheduler_active; | |||
157 | * - call_rcu_sched() and rcu_barrier_sched() | 157 | * - call_rcu_sched() and rcu_barrier_sched() |
158 | * on the write-side to insure proper synchronization. | 158 | * on the write-side to insure proper synchronization. |
159 | */ | 159 | */ |
160 | #define rcu_read_lock_sched() preempt_disable() | 160 | static inline void rcu_read_lock_sched(void) |
161 | #define rcu_read_lock_sched_notrace() preempt_disable_notrace() | 161 | { |
162 | preempt_disable(); | ||
163 | } | ||
164 | static inline void rcu_read_lock_sched_notrace(void) | ||
165 | { | ||
166 | preempt_disable_notrace(); | ||
167 | } | ||
162 | 168 | ||
163 | /* | 169 | /* |
164 | * rcu_read_unlock_sched - marks the end of a RCU-classic critical section | 170 | * rcu_read_unlock_sched - marks the end of a RCU-classic critical section |
165 | * | 171 | * |
166 | * See rcu_read_lock_sched for more information. | 172 | * See rcu_read_lock_sched for more information. |
167 | */ | 173 | */ |
168 | #define rcu_read_unlock_sched() preempt_enable() | 174 | static inline void rcu_read_unlock_sched(void) |
169 | #define rcu_read_unlock_sched_notrace() preempt_enable_notrace() | 175 | { |
170 | 176 | preempt_enable(); | |
177 | } | ||
178 | static inline void rcu_read_unlock_sched_notrace(void) | ||
179 | { | ||
180 | preempt_enable_notrace(); | ||
181 | } | ||
171 | 182 | ||
172 | 183 | ||
173 | /** | 184 | /** |
diff --git a/include/linux/rcupreempt.h b/include/linux/rcupreempt.h index f164ac9b7807..2963f080e48d 100644 --- a/include/linux/rcupreempt.h +++ b/include/linux/rcupreempt.h | |||
@@ -40,8 +40,8 @@ | |||
40 | #include <linux/cpumask.h> | 40 | #include <linux/cpumask.h> |
41 | #include <linux/seqlock.h> | 41 | #include <linux/seqlock.h> |
42 | 42 | ||
43 | extern void rcu_qsctr_inc(int cpu); | 43 | extern void rcu_sched_qs(int cpu); |
44 | static inline void rcu_bh_qsctr_inc(int cpu) { } | 44 | static inline void rcu_bh_qs(int cpu) { } |
45 | 45 | ||
46 | /* | 46 | /* |
47 | * Someone might want to pass call_rcu_bh as a function pointer. | 47 | * Someone might want to pass call_rcu_bh as a function pointer. |
diff --git a/include/linux/rcutree.h b/include/linux/rcutree.h index e37d5e2a8353..a0852d0d915b 100644 --- a/include/linux/rcutree.h +++ b/include/linux/rcutree.h | |||
@@ -30,8 +30,8 @@ | |||
30 | #ifndef __LINUX_RCUTREE_H | 30 | #ifndef __LINUX_RCUTREE_H |
31 | #define __LINUX_RCUTREE_H | 31 | #define __LINUX_RCUTREE_H |
32 | 32 | ||
33 | extern void rcu_qsctr_inc(int cpu); | 33 | extern void rcu_sched_qs(int cpu); |
34 | extern void rcu_bh_qsctr_inc(int cpu); | 34 | extern void rcu_bh_qs(int cpu); |
35 | 35 | ||
36 | extern int rcu_pending(int cpu); | 36 | extern int rcu_pending(int cpu); |
37 | extern int rcu_needs_cpu(int cpu); | 37 | extern int rcu_needs_cpu(int cpu); |
@@ -73,7 +73,8 @@ static inline void __rcu_read_unlock_bh(void) | |||
73 | 73 | ||
74 | #define __synchronize_sched() synchronize_rcu() | 74 | #define __synchronize_sched() synchronize_rcu() |
75 | 75 | ||
76 | #define call_rcu_sched(head, func) call_rcu(head, func) | 76 | extern void call_rcu_sched(struct rcu_head *head, |
77 | void (*func)(struct rcu_head *rcu)); | ||
77 | 78 | ||
78 | static inline void synchronize_rcu_expedited(void) | 79 | static inline void synchronize_rcu_expedited(void) |
79 | { | 80 | { |
@@ -91,6 +92,7 @@ extern void rcu_restart_cpu(int cpu); | |||
91 | 92 | ||
92 | extern long rcu_batches_completed(void); | 93 | extern long rcu_batches_completed(void); |
93 | extern long rcu_batches_completed_bh(void); | 94 | extern long rcu_batches_completed_bh(void); |
95 | extern long rcu_batches_completed_sched(void); | ||
94 | 96 | ||
95 | static inline void rcu_init_sched(void) | 97 | static inline void rcu_init_sched(void) |
96 | { | 98 | { |