Re: typo in fallback implementation for pg_atomic_test_set_flag()
Andres Freund <andres@anarazel.de>
From: Andres Freund <andres@anarazel.de>
To: Nathan Bossart <nathandbossart@gmail.com>
Cc: pgsql-hackers@postgresql.org
Date: 2023-11-15T03:17:32Z
Lists: pgsql-hackers
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
Commits
-
Fix fallback implementation for pg_atomic_test_set_flag().
- c23677844c96 12.18 landed
- 231a445ea31d 13.14 landed
- a54129e8b696 14.11 landed
- 18f47989ecb0 15.6 landed
- 2927b1dca7ae 16.2 landed
- 69c32b8b3535 17.0 landed
-
Add a basic atomic ops API abstracting away platform/architecture details.
- b64d92f1a560 9.5.0 cited