On Thu, 8 Sep 2022 17:12:00 +0200, Uros Bizjak wrote: > Use atomic_long_try_cmpxchg instead of > atomic_long_cmpxchg (*ptr, old, new) == old in __sbitmap_queue_get_batch. > 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_long_cmpxchg implicitly assigns old *ptr value to "old" > when cmpxchg fails, enabling further code simplifications, e.g. > an extra memory read can be avoided in the loop. > > [...] Applied, thanks! [1/1] sbitmap: Use atomic_long_try_cmpxchg in __sbitmap_queue_get_batch commit: c35227d4e8cbc70a6622cc7cc5f8c3bff513f1fa Best regards, -- Jens Axboe