diff options
author | Ingo Molnar <mingo@kernel.org> | 2012-09-27 08:09:38 +0200 |
---|---|---|
committer | Ingo Molnar <mingo@kernel.org> | 2012-09-27 08:09:38 +0200 |
commit | fa34da708cbe1e2d9a2ee7fc68ea8fccbf095d12 (patch) | |
tree | b20795decb064af75aae8f9f6af77806b1a4769a /include/linux/rcupdate.h | |
parent | a9b86fab4b0a36fc4cd2712a07259c2c0e769742 (diff) | |
parent | cb349ca95407cbc11424d5e9fc7c8e700709041b (diff) |
Merge branch 'rcu/idle' of git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu into core/rcu
Pull the RCU adaptive-idle feature from Paul E. McKenney:
"This series adds RCU APIs that allow non-idle tasks to
enter RCU idle mode and provides x86 code to make use of them, allowing
RCU to treat user-mode execution as an extended quiescent state when the
new RCU_USER_QS kernel configuration parameter is specified. Work is
in progress to port this to a few other architectures, but is not part
of this series."
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Diffstat (limited to 'include/linux/rcupdate.h')
-rw-r--r-- | include/linux/rcupdate.h | 15 |
1 files changed, 15 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); extern void rcu_idle_exit(void); extern void rcu_irq_enter(void); extern void rcu_irq_exit(void); + +#ifdef CONFIG_RCU_USER_QS +extern void rcu_user_enter(void); +extern void rcu_user_exit(void); +extern void rcu_user_enter_after_irq(void); +extern void rcu_user_exit_after_irq(void); +extern void rcu_user_hooks_switch(struct task_struct *prev, + struct task_struct *next); +#else +static inline void rcu_user_enter(void) { } +static inline void rcu_user_exit(void) { } +static inline void rcu_user_enter_after_irq(void) { } +static inline void rcu_user_exit_after_irq(void) { } +#endif /* CONFIG_RCU_USER_QS */ + extern void exit_rcu(void); /** |