diff options
author | Peter Zijlstra <peterz@infradead.org> | 2016-12-15 07:21:58 -0500 |
---|---|---|
committer | Ingo Molnar <mingo@kernel.org> | 2017-01-14 05:29:57 -0500 |
commit | 555570d744f8150d3fce6083f144026cd1e63627 (patch) | |
tree | e0db4da7dd7949d80a562ad621e08100194688fe | |
parent | 12907fbb1a691807bb0420a27126e15934cb7954 (diff) |
sched/clock: Update static_key usage
sched_clock was still using the deprecated static_key interface.
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Mike Galbraith <efault@gmx.de>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: linux-kernel@vger.kernel.org
Signed-off-by: Ingo Molnar <mingo@kernel.org>
-rw-r--r-- | kernel/sched/clock.c | 12 |
1 files changed, 4 insertions, 8 deletions
diff --git a/kernel/sched/clock.c b/kernel/sched/clock.c index e85a725e5c34..5d6dd38b449c 100644 --- a/kernel/sched/clock.c +++ b/kernel/sched/clock.c | |||
@@ -78,19 +78,17 @@ EXPORT_SYMBOL_GPL(sched_clock); | |||
78 | __read_mostly int sched_clock_running; | 78 | __read_mostly int sched_clock_running; |
79 | 79 | ||
80 | #ifdef CONFIG_HAVE_UNSTABLE_SCHED_CLOCK | 80 | #ifdef CONFIG_HAVE_UNSTABLE_SCHED_CLOCK |
81 | static struct static_key __sched_clock_stable = STATIC_KEY_INIT; | 81 | static DEFINE_STATIC_KEY_FALSE(__sched_clock_stable); |
82 | static int __sched_clock_stable_early; | 82 | static int __sched_clock_stable_early; |
83 | 83 | ||
84 | int sched_clock_stable(void) | 84 | int sched_clock_stable(void) |
85 | { | 85 | { |
86 | return static_key_false(&__sched_clock_stable); | 86 | return static_branch_likely(&__sched_clock_stable); |
87 | } | 87 | } |
88 | 88 | ||
89 | static void __set_sched_clock_stable(void) | 89 | static void __set_sched_clock_stable(void) |
90 | { | 90 | { |
91 | if (!sched_clock_stable()) | 91 | static_branch_enable(&__sched_clock_stable); |
92 | static_key_slow_inc(&__sched_clock_stable); | ||
93 | |||
94 | tick_dep_clear(TICK_DEP_BIT_CLOCK_UNSTABLE); | 92 | tick_dep_clear(TICK_DEP_BIT_CLOCK_UNSTABLE); |
95 | } | 93 | } |
96 | 94 | ||
@@ -109,9 +107,7 @@ void set_sched_clock_stable(void) | |||
109 | static void __clear_sched_clock_stable(struct work_struct *work) | 107 | static void __clear_sched_clock_stable(struct work_struct *work) |
110 | { | 108 | { |
111 | /* XXX worry about clock continuity */ | 109 | /* XXX worry about clock continuity */ |
112 | if (sched_clock_stable()) | 110 | static_branch_disable(&__sched_clock_stable); |
113 | static_key_slow_dec(&__sched_clock_stable); | ||
114 | |||
115 | tick_dep_set(TICK_DEP_BIT_CLOCK_UNSTABLE); | 111 | tick_dep_set(TICK_DEP_BIT_CLOCK_UNSTABLE); |
116 | } | 112 | } |
117 | 113 | ||