Thread

  1. 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
    
  2. 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
    
    
    
    
  3. 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
    
  4. 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.
    
    
    
    
  5. 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