aboutsummaryrefslogtreecommitdiffstats
path: root/kernel/context_tracking.c
diff options
context:
space:
mode:
authorFrederic Weisbecker <fweisbec@gmail.com>2013-01-07 12:12:14 -0500
committerFrederic Weisbecker <fweisbec@gmail.com>2013-01-26 11:37:17 -0500
commit95a79fd458b85132c25e351d45037ec9643312b2 (patch)
tree7672a00be174e93e9a6ce85e610ba54d8450c3fb /kernel/context_tracking.c
parent7d1f9aeff1ee4a20b1aeb377dd0f579fe9647619 (diff)
context_tracking: Export context state for generic vtime
Export the context state: whether we run in user / kernel from the context tracking subsystem point of view. This is going to be used by the generic virtual cputime accounting subsystem that is needed to implement the full dynticks. Signed-off-by: Frederic Weisbecker <fweisbec@gmail.com> Cc: Andrew Morton <akpm@linux-foundation.org> Cc: Ingo Molnar <mingo@kernel.org> Cc: Li Zhong <zhong@linux.vnet.ibm.com> Cc: Namhyung Kim <namhyung.kim@lge.com> Cc: Paul E. McKenney <paulmck@linux.vnet.ibm.com> Cc: Paul Gortmaker <paul.gortmaker@windriver.com> Cc: Peter Zijlstra <peterz@infradead.org> Cc: Steven Rostedt <rostedt@goodmis.org> Cc: Thomas Gleixner <tglx@linutronix.de>
Diffstat (limited to 'kernel/context_tracking.c')
-rw-r--r--kernel/context_tracking.c16
1 files changed, 1 insertions, 15 deletions
diff --git a/kernel/context_tracking.c b/kernel/context_tracking.c
index e0e07fd55508..54f471e536dc 100644
--- a/kernel/context_tracking.c
+++ b/kernel/context_tracking.c
@@ -1,24 +1,10 @@
1#include <linux/context_tracking.h> 1#include <linux/context_tracking.h>
2#include <linux/rcupdate.h> 2#include <linux/rcupdate.h>
3#include <linux/sched.h> 3#include <linux/sched.h>
4#include <linux/percpu.h>
5#include <linux/hardirq.h> 4#include <linux/hardirq.h>
6 5
7struct context_tracking {
8 /*
9 * When active is false, hooks are not set to
10 * minimize overhead: TIF flags are cleared
11 * and calls to user_enter/exit are ignored. This
12 * may be further optimized using static keys.
13 */
14 bool active;
15 enum {
16 IN_KERNEL = 0,
17 IN_USER,
18 } state;
19};
20 6
21static DEFINE_PER_CPU(struct context_tracking, context_tracking) = { 7DEFINE_PER_CPU(struct context_tracking, context_tracking) = {
22#ifdef CONFIG_CONTEXT_TRACKING_FORCE 8#ifdef CONFIG_CONTEXT_TRACKING_FORCE
23 .active = true, 9 .active = true,
24#endif 10#endif