Re: heavily contended lwlocks with long wait queues scale badly
От | Zhihong Yu |
---|---|
Тема | Re: heavily contended lwlocks with long wait queues scale badly |
Дата | |
Msg-id | CALNJ-vR1KqwVw5MCe1=vew15CtASyojpvnbbpj=vFQi=1erpmg@mail.gmail.com обсуждение исходный текст |
Ответ на | Re: heavily contended lwlocks with long wait queues scale badly (Andres Freund <andres@anarazel.de>) |
Список | pgsql-hackers |
On Mon, Oct 31, 2022 at 5:19 PM Andres Freund <andres@anarazel.de> wrote:
Hi,
On 2022-10-31 17:17:03 -0700, Zhihong Yu wrote:
> On Mon, Oct 31, 2022 at 4:51 PM Andres Freund <andres@anarazel.de> wrote:
>
> > Hi,
> >
> > On 2022-10-31 16:21:06 +0530, Bharath Rupireddy wrote:
> > > BTW, I've seen a sporadic crash (SEGV) with the patch in bg writer
> > > with the same set up [1], I'm not sure if it's really because of the
> > > patch. I'm unable to reproduce it now and unfortunately I didn't
> > > capture further details when it occurred.
> >
> > That's likely because the prototype patch I submitted in this thread missed
> > updating LWLockUpdateVar().
> >
> > Updated patch attached.
> >
> > Greetings,
> >
> > Andres Freund
> >
>
> Hi,
> Minor comment:
>
> + uint8 lwWaiting; /* see LWLockWaitState */
>
> Why not declare `lwWaiting` of type LWLockWaitState ?
Unfortunately C99 (*) doesn't allow to specify the width of an enum
field. With most compilers we'd end up using 4 bytes.
Greetings,
Andres Freund
(*) C++ has allowed specifying this for quite a few years now and I think C23
will support it too, but that doesn't help us at this point.
Hi,
Thanks for the response.
If possible, it would be better to put your explanation in the code comment (so that other people know the reasoning).
В списке pgsql-hackers по дате отправления: