mirror of
https://github.com/edk2-porting/linux-next.git
synced 2024-12-21 11:44:01 +08:00
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: Davidlohr 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.net Signed-off-by: Ingo Molnar <mingo@kernel.org>
This commit is contained in:
parent
e97a90f706
commit
b720342849
@ -2462,17 +2462,17 @@ void wake_up_new_task(struct task_struct *p)
|
||||
|
||||
#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)
|
||||
{
|
||||
static_key_slow_inc(&preempt_notifier_key);
|
||||
static_branch_inc(&preempt_notifier_key);
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(preempt_notifier_inc);
|
||||
|
||||
void preempt_notifier_dec(void)
|
||||
{
|
||||
static_key_slow_dec(&preempt_notifier_key);
|
||||
static_branch_dec(&preempt_notifier_key);
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(preempt_notifier_dec);
|
||||
|
||||
@ -2482,7 +2482,7 @@ EXPORT_SYMBOL_GPL(preempt_notifier_dec);
|
||||
*/
|
||||
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");
|
||||
|
||||
hlist_add_head(¬ifier->link, ¤t->preempt_notifiers);
|
||||
@ -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)
|
||||
{
|
||||
if (static_key_false(&preempt_notifier_key))
|
||||
if (static_branch_unlikely(&preempt_notifier_key))
|
||||
__fire_sched_in_preempt_notifiers(curr);
|
||||
}
|
||||
|
||||
@ -2529,7 +2529,7 @@ static __always_inline void
|
||||
fire_sched_out_preempt_notifiers(struct task_struct *curr,
|
||||
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);
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user