Обсуждение: Use LW_SHARED in WakeupWalSummarizer() for WALSummarizerLock lock

Поиск
Список
Период
Сортировка

Use LW_SHARED in WakeupWalSummarizer() for WALSummarizerLock lock

От
Masahiko Sawada
Дата:
Hi all,

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.

Regards,

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

Вложения

Re: Use LW_SHARED in WakeupWalSummarizer() for WALSummarizerLock lock

От
Nathan Bossart
Дата:
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().

-- 
nathan



Re: Use LW_SHARED in WakeupWalSummarizer() for WALSummarizerLock lock

От
Masahiko Sawada
Дата:
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

Вложения

Re: Use LW_SHARED in WakeupWalSummarizer() for WALSummarizerLock lock

От
Masahiko Sawada
Дата:
On Mon, Aug 25, 2025 at 5:48 PM Masahiko Sawada <sawada.mshk@gmail.com> wrote:
>
> 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.

Pushed.

Regards,

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