Commit b7203428 authored by Davidlohr Bueso's avatar Davidlohr Bueso Committed by Ingo Molnar

sched/core: Update preempt_notifier_key to modern API

No changes in refcount semantics, use DEFINE_STATIC_KEY_FALSE()
for initialization and replace:

  static_key_slow_inc|dec()   =>   static_branch_inc|dec()
  static_key_false()          =>   static_branch_unlikely()
Signed-off-by: default avatarDavidlohr Bueso <dbueso@suse.de>
Cc: Davidlohr Bueso <dave@stgolabs.net>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: akpm@linux-foundation.org
Link: http://lkml.kernel.org/r/20180326210929.5244-4-dave@stgolabs.netSigned-off-by: default avatarIngo Molnar <mingo@kernel.org>
parent e97a90f7
...@@ -2462,17 +2462,17 @@ void wake_up_new_task(struct task_struct *p) ...@@ -2462,17 +2462,17 @@ void wake_up_new_task(struct task_struct *p)
#ifdef CONFIG_PREEMPT_NOTIFIERS #ifdef CONFIG_PREEMPT_NOTIFIERS
static struct static_key preempt_notifier_key = STATIC_KEY_INIT_FALSE; static DEFINE_STATIC_KEY_FALSE(preempt_notifier_key);
void preempt_notifier_inc(void) void preempt_notifier_inc(void)
{ {
static_key_slow_inc(&preempt_notifier_key); static_branch_inc(&preempt_notifier_key);
} }
EXPORT_SYMBOL_GPL(preempt_notifier_inc); EXPORT_SYMBOL_GPL(preempt_notifier_inc);
void preempt_notifier_dec(void) void preempt_notifier_dec(void)
{ {
static_key_slow_dec(&preempt_notifier_key); static_branch_dec(&preempt_notifier_key);
} }
EXPORT_SYMBOL_GPL(preempt_notifier_dec); EXPORT_SYMBOL_GPL(preempt_notifier_dec);
...@@ -2482,7 +2482,7 @@ EXPORT_SYMBOL_GPL(preempt_notifier_dec); ...@@ -2482,7 +2482,7 @@ EXPORT_SYMBOL_GPL(preempt_notifier_dec);
*/ */
void preempt_notifier_register(struct preempt_notifier *notifier) void preempt_notifier_register(struct preempt_notifier *notifier)
{ {
if (!static_key_false(&preempt_notifier_key)) if (!static_branch_unlikely(&preempt_notifier_key))
WARN(1, "registering preempt_notifier while notifiers disabled\n"); WARN(1, "registering preempt_notifier while notifiers disabled\n");
hlist_add_head(&notifier->link, &current->preempt_notifiers); hlist_add_head(&notifier->link, &current->preempt_notifiers);
...@@ -2511,7 +2511,7 @@ static void __fire_sched_in_preempt_notifiers(struct task_struct *curr) ...@@ -2511,7 +2511,7 @@ static void __fire_sched_in_preempt_notifiers(struct task_struct *curr)
static __always_inline void fire_sched_in_preempt_notifiers(struct task_struct *curr) static __always_inline void fire_sched_in_preempt_notifiers(struct task_struct *curr)
{ {
if (static_key_false(&preempt_notifier_key)) if (static_branch_unlikely(&preempt_notifier_key))
__fire_sched_in_preempt_notifiers(curr); __fire_sched_in_preempt_notifiers(curr);
} }
...@@ -2529,7 +2529,7 @@ static __always_inline void ...@@ -2529,7 +2529,7 @@ static __always_inline void
fire_sched_out_preempt_notifiers(struct task_struct *curr, fire_sched_out_preempt_notifiers(struct task_struct *curr,
struct task_struct *next) struct task_struct *next)
{ {
if (static_key_false(&preempt_notifier_key)) if (static_branch_unlikely(&preempt_notifier_key))
__fire_sched_out_preempt_notifiers(curr, next); __fire_sched_out_preempt_notifiers(curr, next);
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment