Wait events for delayed checkpoints
Thomas Munro <thomas.munro@gmail.com>
From: Thomas Munro <thomas.munro@gmail.com>
To: pgsql-hackers <pgsql-hackers@postgresql.org>
Date: 2023-10-12T01:10:25Z
Lists: pgsql-hackers
Attachments
- 0001-Add-wait-events-for-checkpoint-delay-mechanism.patch (text/x-patch) patch 0001
Hi, You can't tell if your checkpointer is spending a lot of time waiting around for flags in delayChkptFlags to clear. Trivial patch to add that. I've managed to see it a few times when checkpointing repeatedly with a heavy pgbench workload. I had to stop and think for a moment about whether these events belong under "WaitEventIPC", "waiting for notification from another process" or under "WaitEventTimeout", "waiting for a timeout to expire". I mean, both? It's using sleep-and-poll instead of (say) a CV due to the economics, we want to make the other side as cheap as possible, so we don't care about making the checkpointer take some micro-naps in this case. I feel like the key point here is that it's waiting for another process to do stuff and unblock it.
Commits
-
Add wait events for checkpoint delay mechanism.
- 0013ba290b66 17.0 landed