aboutsummaryrefslogtreecommitdiff
path: root/tools/testing/selftests/bpf/progs/test_autoload.c
diff options
context:
space:
mode:
authorUros Bizjak <[email protected]>2023-01-18 16:07:03 +0100
committerAndrew Morton <[email protected]>2023-02-02 22:50:05 -0800
commit030c6ff6498881ac842c7f6da5eec181202b29f4 (patch)
treef08c6b2f70ed980d645fb671455023fb0e7e59c3 /tools/testing/selftests/bpf/progs/test_autoload.c
parentf3296f80c8065b26a27eb8ab686d0c1d67880524 (diff)
lib/genalloc: use try_cmpxchg in {set,clear}_bits_ll
Use try_cmpxchg instead of cmpxchg (*ptr, old, new) == old in {set,clear}_bits_ll. 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, try_cmpxchg implicitly assigns old *ptr value to "old" when cmpxchg fails. Note that the value from *ptr should be read using READ_ONCE to prevent the compiler from merging, refetching or reordering the read. The patch also declares these two functions inline, to ensure inlining. No functional change intended. Link: https://lkml.kernel.org/r/[email protected] Signed-off-by: Uros Bizjak <[email protected]> Signed-off-by: Andrew Morton <[email protected]>
Diffstat (limited to 'tools/testing/selftests/bpf/progs/test_autoload.c')
0 files changed, 0 insertions, 0 deletions