mirror of
https://github.com/torvalds/linux
synced 2024-09-06 18:01:05 +00:00
sched/fair: use try_cmpxchg in task_numa_work
Use try_cmpxchg instead of cmpxchg (*ptr, old, new) == old in task_numa_work. x86 CMPXCHG instruction returns success in ZF flag, so this change saves a compare after cmpxchg (and related move instruction in front of cmpxchg). No functional change intended. Link: https://lkml.kernel.org/r/20220822173956.82525-1-ubizjak@gmail.com Signed-off-by: Uros Bizjak <ubizjak@gmail.com> Cc: Ingo Molnar <mingo@redhat.com> Cc: Peter Zijlstra <peterz@infradead.org> Cc: Juri Lelli <juri.lelli@redhat.com> Cc: Vincent Guittot <vincent.guittot@linaro.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
This commit is contained in:
parent
333d073dee
commit
8baceabca6
|
@ -2964,7 +2964,7 @@ static void task_numa_work(struct callback_head *work)
|
|||
}
|
||||
|
||||
next_scan = now + msecs_to_jiffies(p->numa_scan_period);
|
||||
if (cmpxchg(&mm->numa_next_scan, migrate, next_scan) != migrate)
|
||||
if (!try_cmpxchg(&mm->numa_next_scan, &migrate, next_scan))
|
||||
return;
|
||||
|
||||
/*
|
||||
|
|
Loading…
Reference in a new issue