[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-Id: <166265058355.492758.3474516202964637778.b4-ty@kernel.dk>
Date: Thu, 08 Sep 2022 09:23:03 -0600
From: Jens Axboe <axboe@...nel.dk>
To: linux-kernel@...r.kernel.org, Uros Bizjak <ubizjak@...il.com>,
linux-block@...r.kernel.org
Subject: Re: [PATCH RESEND v2] sbitmap: Use atomic_long_try_cmpxchg in __sbitmap_queue_get_batch
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
Powered by blists - more mailing lists