diff options
Diffstat (limited to 'include/linux')
| -rw-r--r-- | include/linux/rcupdate.h | 15 | ||||
| -rw-r--r-- | include/linux/sched.h | 8 |
2 files changed, 23 insertions, 0 deletions
diff --git a/include/linux/rcupdate.h b/include/linux/rcupdate.h index 0fbbd52e01f9..7c968e4f929e 100644 --- a/include/linux/rcupdate.h +++ b/include/linux/rcupdate.h | |||
| @@ -191,6 +191,21 @@ extern void rcu_idle_enter(void); | |||
| 191 | extern void rcu_idle_exit(void); | 191 | extern void rcu_idle_exit(void); |
| 192 | extern void rcu_irq_enter(void); | 192 | extern void rcu_irq_enter(void); |
| 193 | extern void rcu_irq_exit(void); | 193 | extern void rcu_irq_exit(void); |
| 194 | |||
| 195 | #ifdef CONFIG_RCU_USER_QS | ||
| 196 | extern void rcu_user_enter(void); | ||
| 197 | extern void rcu_user_exit(void); | ||
| 198 | extern void rcu_user_enter_after_irq(void); | ||
| 199 | extern void rcu_user_exit_after_irq(void); | ||
| 200 | extern void rcu_user_hooks_switch(struct task_struct *prev, | ||
| 201 | struct task_struct *next); | ||
| 202 | #else | ||
| 203 | static inline void rcu_user_enter(void) { } | ||
| 204 | static inline void rcu_user_exit(void) { } | ||
| 205 | static inline void rcu_user_enter_after_irq(void) { } | ||
| 206 | static inline void rcu_user_exit_after_irq(void) { } | ||
| 207 | #endif /* CONFIG_RCU_USER_QS */ | ||
| 208 | |||
| 194 | extern void exit_rcu(void); | 209 | extern void exit_rcu(void); |
| 195 | 210 | ||
| 196 | /** | 211 | /** |
diff --git a/include/linux/sched.h b/include/linux/sched.h index 23bddac4bad8..335720a1fc33 100644 --- a/include/linux/sched.h +++ b/include/linux/sched.h | |||
| @@ -1885,6 +1885,14 @@ static inline void rcu_copy_process(struct task_struct *p) | |||
| 1885 | 1885 | ||
| 1886 | #endif | 1886 | #endif |
| 1887 | 1887 | ||
| 1888 | static inline void rcu_switch(struct task_struct *prev, | ||
| 1889 | struct task_struct *next) | ||
| 1890 | { | ||
| 1891 | #ifdef CONFIG_RCU_USER_QS | ||
| 1892 | rcu_user_hooks_switch(prev, next); | ||
| 1893 | #endif | ||
| 1894 | } | ||
| 1895 | |||
| 1888 | static inline void tsk_restore_flags(struct task_struct *task, | 1896 | static inline void tsk_restore_flags(struct task_struct *task, |
| 1889 | unsigned long orig_flags, unsigned long flags) | 1897 | unsigned long orig_flags, unsigned long flags) |
| 1890 | { | 1898 | { |
