Thread
-
Xlogprefetcher: Use atomic add for increment counter
Ranier Vilela <ranier.vf@gmail.com> — 2025-11-07T14:28:06Z
Hi. Use pg_atomic_fetch_add_u64 to replace pg_atomic_read_u64 and pg_atomic_write_u64 calls. This simplifies the logic and this increases the likelihood that the operation will be successful. patch attached. best regards, Ranier Vilela
-
Re: Xlogprefetcher: Use atomic add for increment counter
Andres Freund <andres@anarazel.de> — 2025-11-07T14:41:05Z
Hi, On 2025-11-07 11:28:06 -0300, Ranier Vilela wrote: > Use pg_atomic_fetch_add_u64 to replace pg_atomic_read_u64 and > pg_atomic_write_u64 calls. > > This simplifies the logic and this increases the likelihood that the > operation will be successful. How does it do so? As the assertions indicate, this can only be run from a single process. Greetings, Andres Freund
-
Re: Xlogprefetcher: Use atomic add for increment counter
Ranier Vilela <ranier.vf@gmail.com> — 2025-11-07T14:52:37Z
Em sex., 7 de nov. de 2025 às 11:41, Andres Freund <andres@anarazel.de> escreveu: > Hi, > > On 2025-11-07 11:28:06 -0300, Ranier Vilela wrote: > > Use pg_atomic_fetch_add_u64 to replace pg_atomic_read_u64 and > > pg_atomic_write_u64 calls. > > > > This simplifies the logic and this increases the likelihood that the > > operation will be successful. > > How does it do so? As the assertions indicate, this can only be run from a > single process. > Can I rephrase that? That simplifies the logic a bit. best regards, Ranier Vilela
-
Re: Xlogprefetcher: Use atomic add for increment counter
Andres Freund <andres@anarazel.de> — 2025-11-07T14:59:04Z
On 2025-11-07 11:52:37 -0300, Ranier Vilela wrote: > Em sex., 7 de nov. de 2025 às 11:41, Andres Freund <andres@anarazel.de> > escreveu: > > On 2025-11-07 11:28:06 -0300, Ranier Vilela wrote: > > > Use pg_atomic_fetch_add_u64 to replace pg_atomic_read_u64 and > > > pg_atomic_write_u64 calls. > > > > > > This simplifies the logic and this increases the likelihood that the > > > operation will be successful. > > > > How does it do so? As the assertions indicate, this can only be run from a > > single process. > > > Can I rephrase that? > > That simplifies the logic a bit. Maybe simpler, but also vastly slower than before. An atomic increment is maybe two orders of magnitude more expensive than an unlocked read & write.
-
Re: Xlogprefetcher: Use atomic add for increment counter
Ranier Vilela <ranier.vf@gmail.com> — 2025-11-07T15:03:01Z
Em sex., 7 de nov. de 2025 às 11:59, Andres Freund <andres@anarazel.de> escreveu: > On 2025-11-07 11:52:37 -0300, Ranier Vilela wrote: > > Em sex., 7 de nov. de 2025 às 11:41, Andres Freund <andres@anarazel.de> > > escreveu: > > > On 2025-11-07 11:28:06 -0300, Ranier Vilela wrote: > > > > Use pg_atomic_fetch_add_u64 to replace pg_atomic_read_u64 and > > > > pg_atomic_write_u64 calls. > > > > > > > > This simplifies the logic and this increases the likelihood that the > > > > operation will be successful. > > > > > > How does it do so? As the assertions indicate, this can only be run > from a > > > single process. > > > > > Can I rephrase that? > > > > That simplifies the logic a bit. > > Maybe simpler, but also vastly slower than before. An atomic increment is > maybe two orders of magnitude more expensive than an unlocked read & write. > Seriously, I didn't know. It's best to withdraw the patch then. Thanks for clarifying this. best regards, Ranier Vilela