Re: Use LW_SHARED in WakeupWalSummarizer() for WALSummarizerLock lock

Masahiko Sawada <sawada.mshk@gmail.com>

From: Masahiko Sawada <sawada.mshk@gmail.com>
To: Nathan Bossart <nathandbossart@gmail.com>
Cc: PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>
Date: 2025-08-26T00:48:49Z
Lists: pgsql-hackers

Attachments

On Mon, Aug 25, 2025 at 5:08 PM Nathan Bossart <nathandbossart@gmail.com> wrote:
>
> On Mon, Aug 25, 2025 at 03:38:13PM -0700, Masahiko Sawada wrote:
> > While reading walsummarizer.c code, I noticed that in
> > WakeupWalSummarizer() we acquire the WALSummarizerLock lock in
> > LW_EXCLUSIVE mode despite only reading
> > WalSummarizerCtl->summarizer_pgprocno. The attached patch uses
> > LW_SHARED mode instead. Feedback is very welcome.
>
> You could probably do something similar for WaitForWalSummarization().

Good point. I've attached the updated patch.

Regards,

-- 
Masahiko Sawada
Amazon Web Services: https://aws.amazon.com

Commits

  1. Use LW_SHARED in walsummarizer.c for WALSummarizerLock lock where possible.