Messages in this thread | | | Date | Wed, 11 Oct 2023 09:25:50 +0200 | Subject | Re: [PATCH 03/14] bitops: let the compiler optimize __assign_bit() | From | Alexander Lobakin <> |
| |
From: Yury Norov <yury.norov@gmail.com> Date: Mon, 9 Oct 2023 09:18:40 -0700
> On Mon, Oct 09, 2023 at 05:10:15PM +0200, Alexander Lobakin wrote:
[...]
>> -static __always_inline void __assign_bit(long nr, volatile unsigned long *addr, >> - bool value) >> -{ >> - if (value) >> - __set_bit(nr, addr); >> - else >> - __clear_bit(nr, addr); >> -} >> +#define __assign_bit(nr, addr, value) \ >> + ((value) ? __set_bit(nr, addr) : __clear_bit(nr, addr)) > > Can you protect nr and addr with braces just as well? > Can you convert the atomic version too, to keep them synchronized ?
+ for both. I didn't convert assign_bit() as I thought it wouldn't give any optimization improvements, but yeah, let the compiler decide.
> >> >> /** >> * __ptr_set_bit - Set bit in a pointer's value >> -- >> 2.41.0
Thanks, Olek
| |