diff options
author | Frederic Weisbecker | 2019-10-16 04:56:53 +0200 |
---|---|---|
committer | Ingo Molnar | 2019-10-29 10:01:13 +0100 |
commit | 097f2541c6e51e0c1cdb1e6d46ef08a624336518 (patch) | |
tree | c2e91bf763ce2ce22edef0246ce331132623ba32 /include/linux/context_tracking_state.h | |
parent | 84e0dacd0c347e9ee2531052013babd84683245f (diff) |
context_tracking: Introduce context_tracking_enabled_cpu()
This allows us to check if a remote CPU runs context tracking
(ie: is nohz_full). We'll need that to reliably support "nice"
accounting on kcpustat.
Signed-off-by: Frederic Weisbecker <frederic@kernel.org>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Cc: Jacek Anaszewski <jacek.anaszewski@gmail.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Pavel Machek <pavel@ucw.cz>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Rafael J . Wysocki <rjw@rjwysocki.net>
Cc: Rik van Riel <riel@surriel.com>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Viresh Kumar <viresh.kumar@linaro.org>
Cc: Wanpeng Li <wanpengli@tencent.com>
Cc: Yauheni Kaliuta <yauheni.kaliuta@redhat.com>
Link: https://lkml.kernel.org/r/20191016025700.31277-8-frederic@kernel.org
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Diffstat (limited to 'include/linux/context_tracking_state.h')
-rw-r--r-- | include/linux/context_tracking_state.h | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/include/linux/context_tracking_state.h b/include/linux/context_tracking_state.h index 08f125f6b31b..587717705727 100644 --- a/include/linux/context_tracking_state.h +++ b/include/linux/context_tracking_state.h @@ -31,6 +31,11 @@ static inline bool context_tracking_enabled(void) return static_branch_unlikely(&context_tracking_key); } +static inline bool context_tracking_enabled_cpu(int cpu) +{ + return per_cpu(context_tracking.active, cpu); +} + static inline bool context_tracking_enabled_this_cpu(void) { return __this_cpu_read(context_tracking.active); @@ -43,6 +48,7 @@ static inline bool context_tracking_in_user(void) #else static inline bool context_tracking_in_user(void) { return false; } static inline bool context_tracking_enabled(void) { return false; } +static inline bool context_tracking_enabled_cpu(int cpu) { return false; } static inline bool context_tracking_enabled_this_cpu(void) { return false; } #endif /* CONFIG_CONTEXT_TRACKING */ |