diff options
author | Uros Bizjak | 2022-08-25 16:56:03 +0200 |
---|---|---|
committer | Andrew Morton | 2022-09-11 21:55:10 -0700 |
commit | 9a15193e23b780d1da77e3db18698beb0637897d (patch) | |
tree | 789af806d1dfa280b4c6ef05d8dd5038fe855b89 /kernel/entry | |
parent | 5fdfa161b2043001f82cbce49e87e8e9f581d510 (diff) |
smpboot: use atomic_try_cmpxchg in cpu_wait_death and cpu_report_death
Use atomic_try_cmpxchg instead of atomic_cmpxchg (*ptr, old, new) == old
in cpu_wait_death and cpu_report_death. x86 CMPXCHG instruction returns
success in ZF flag, so this change saves a compare after cmpxchg (and
related move instruction in front of cmpxchg). Also, atomic_try_cmpxchg
implicitly assigns old *ptr value to "old" when cmpxchg fails, enabling
further code simplifications.
No functional change intended.
Link: https://lkml.kernel.org/r/20220825145603.5811-1-ubizjak@gmail.com
Signed-off-by: Uros Bizjak <ubizjak@gmail.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Diffstat (limited to 'kernel/entry')
0 files changed, 0 insertions, 0 deletions