Hi,
On 2023-11-13 21:54:39 -0600, Nathan Bossart wrote:
> I noticed that the fallback pg_atomic_test_set_flag_impl() implementation
> that uses atomic-exchange is giving pg_atomic_exchange_u32_impl() an extra
> argument. This appears to be copy/pasted from the atomic-compare-exchange
> version a few lines down. It looks like it's been this way since this code
> was introduced in commit b64d92f (2014). Patch attached.
Oops.
I guess it's not too surprising this wasn't required - if the compiler has any
atomic intrinsics it's going to have support for the flag stuff. And there's
practically no compiler that
Are you planning to apply the fix?
> I'd ordinarily suggest removing this section of code since it doesn't seem
> to have gotten much coverage
Which section precisely?
> but I'm actually looking into adding some faster atomic-exchange
> implementations that may activate this code for certain
> compiler/architecture combinations.
Hm. I don't really see how adding a faster atomic-exchange implementation
could trigger this implementation being used?
Greetings,
Andres Freund