diff options
author | Uros Bizjak <ubizjak@gmail.com> | 2022-07-12 17:44:55 +0200 |
---|---|---|
committer | Jens Axboe <axboe@kernel.dk> | 2022-07-12 15:46:03 -0600 |
commit | 96388f57d2aad9836b2c589181fa1dbaba4066b4 (patch) | |
tree | 8d55b77e103b15559c7b64e034ca5ea0df21ea0e /arch | |
parent | aee8960c2eae12636040dbf0f04e135273b1612d (diff) |
blk-cgroup: Use atomic{,64}_try_cmpxchg
Use atomic_try_cmpxchg instead of atomic_cmpxchg (*ptr, old, new) == old
in blkcg_unuse_delay, blkcg_set_delay and blkcg_clear_delay and
atomic64_try_cmpxchg in blkcg_scale_delay. 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.
Signed-off-by: Uros Bizjak <ubizjak@gmail.com>
Cc: Jens Axboe <axboe@kernel.dk>
Link: https://lore.kernel.org/r/20220712154455.66868-1-ubizjak@gmail.com
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Diffstat (limited to 'arch')
0 files changed, 0 insertions, 0 deletions