aboutsummaryrefslogtreecommitdiffstats
path: root/arch/Kconfig
diff options
context:
space:
mode:
authorFrederic Weisbecker <fweisbec@gmail.com>2012-11-27 13:33:25 -0500
committerPaul E. McKenney <paulmck@linux.vnet.ibm.com>2012-11-30 14:40:07 -0500
commit91d1aa43d30505b0b825db8898ffc80a8eca96c7 (patch)
tree911636f846d800c8a44efd540842dc726ec7c191 /arch/Kconfig
parent4e79752c25ec221ac1e28f8875b539ed7631a0db (diff)
context_tracking: New context tracking susbsystem
Create a new subsystem that probes on kernel boundaries to keep track of the transitions between level contexts with two basic initial contexts: user or kernel. This is an abstraction of some RCU code that use such tracking to implement its userspace extended quiescent state. We need to pull this up from RCU into this new level of indirection because this tracking is also going to be used to implement an "on demand" generic virtual cputime accounting. A necessary step to shutdown the tick while still accounting the cputime. Signed-off-by: Frederic Weisbecker <fweisbec@gmail.com> Cc: Andrew Morton <akpm@linux-foundation.org> Cc: H. Peter Anvin <hpa@zytor.com> Cc: Ingo Molnar <mingo@kernel.org> Cc: Paul E. McKenney <paulmck@linux.vnet.ibm.com> Cc: Peter Zijlstra <peterz@infradead.org> Cc: Steven Rostedt <rostedt@goodmis.org> Cc: Thomas Gleixner <tglx@linutronix.de> Cc: Li Zhong <zhong@linux.vnet.ibm.com> Cc: Gilad Ben-Yossef <gilad@benyossef.com> Reviewed-by: Steven Rostedt <rostedt@goodmis.org> [ paulmck: fix whitespace error and email address. ] Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Diffstat (limited to 'arch/Kconfig')
-rw-r--r--arch/Kconfig15
1 files changed, 8 insertions, 7 deletions
diff --git a/arch/Kconfig b/arch/Kconfig
index 366ec06a5185..cc74aaea116c 100644
--- a/arch/Kconfig
+++ b/arch/Kconfig
@@ -300,15 +300,16 @@ config SECCOMP_FILTER
300 300
301 See Documentation/prctl/seccomp_filter.txt for details. 301 See Documentation/prctl/seccomp_filter.txt for details.
302 302
303config HAVE_RCU_USER_QS 303config HAVE_CONTEXT_TRACKING
304 bool 304 bool
305 help 305 help
306 Provide kernel entry/exit hooks necessary for userspace 306 Provide kernel/user boundaries probes necessary for subsystems
307 RCU extended quiescent state. Syscalls need to be wrapped inside 307 that need it, such as userspace RCU extended quiescent state.
308 rcu_user_exit()-rcu_user_enter() through the slow path using 308 Syscalls need to be wrapped inside user_exit()-user_enter() through
309 TIF_NOHZ flag. Exceptions handlers must be wrapped as well. Irqs 309 the slow path using TIF_NOHZ flag. Exceptions handlers must be
310 are already protected inside rcu_irq_enter/rcu_irq_exit() but 310 wrapped as well. Irqs are already protected inside
311 preemption or signal handling on irq exit still need to be protected. 311 rcu_irq_enter/rcu_irq_exit() but preemption or signal handling on
312 irq exit still need to be protected.
312 313
313config HAVE_VIRT_CPU_ACCOUNTING 314config HAVE_VIRT_CPU_ACCOUNTING
314 bool 315 bool