Re: Wait events for delayed checkpoints
От | Robert Haas |
---|---|
Тема | Re: Wait events for delayed checkpoints |
Дата | |
Msg-id | CA+Tgmoa2qFvo9b73Z0rkdftdfMbTS+X1OCTLw0X6J7y1HEZQBA@mail.gmail.com обсуждение исходный текст |
Ответ на | Re: Wait events for delayed checkpoints (Michael Paquier <michael@paquier.xyz>) |
Ответы |
Re: Wait events for delayed checkpoints
|
Список | pgsql-hackers |
On Thu, Oct 12, 2023 at 7:09 PM Michael Paquier <michael@paquier.xyz> wrote: > On Thu, Oct 12, 2023 at 01:32:29PM -0400, Robert Haas wrote: > > IPC seems right to me. Yeah, a timeout is being used, but as you say, > > that's an implementation detail. > > > > +1 for the idea, too. > > Agreed that timeout makes little sense in this context, and IPC looks > correct. > > + pgstat_report_wait_start(WAIT_EVENT_CHECKPOINT_DELAY_START); > do > { > pg_usleep(10000L); /* wait for 10 msec */ > } while (HaveVirtualXIDsDelayingChkpt(vxids, nvxids, > DELAY_CHKPT_START)); > + pgstat_report_wait_end(); > > HaveVirtualXIDsDelayingChkpt() does immediately a LWLockAcquire() > which would itself report a wait event for ProcArrayLock, overwriting > this new one, no? Ah, right: the wait event should be set and cleared around pg_usleep, not the whole loop. -- Robert Haas EDB: http://www.enterprisedb.com
В списке pgsql-hackers по дате отправления: