mirror of
https://github.com/postgres/postgres.git
synced 2025-07-30 11:03:19 +03:00
Use condition variables to wait for checkpoints.
Previously we used a polling/sleeping loop to wait for checkpoints to begin and end, which leads to up to a couple hundred milliseconds of needless thumb-twiddling. Use condition variables instead. Author: Thomas Munro Reviewed-by: Andres Freund Discussion: https://postgr.es/m/CA%2BhUKGLY7sDe%2Bbg1K%3DbnEzOofGoo4bJHYh9%2BcDCXJepb6DQmLw%40mail.gmail.com
This commit is contained in:
@ -1281,7 +1281,7 @@ postgres 27093 0.0 0.0 30096 2752 ? Ss 11:34 0:00 postgres: ser
|
||||
<entry>Waiting in an extension.</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry morerows="34"><literal>IPC</literal></entry>
|
||||
<entry morerows="36"><literal>IPC</literal></entry>
|
||||
<entry><literal>BgWorkerShutdown</literal></entry>
|
||||
<entry>Waiting for background worker to shut down.</entry>
|
||||
</row>
|
||||
@ -1293,6 +1293,14 @@ postgres 27093 0.0 0.0 30096 2752 ? Ss 11:34 0:00 postgres: ser
|
||||
<entry><literal>BtreePage</literal></entry>
|
||||
<entry>Waiting for the page number needed to continue a parallel B-tree scan to become available.</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry><literal>CheckpointDone</literal></entry>
|
||||
<entry>Waiting for a checkpoint to complete.</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry><literal>CheckpointStart</literal></entry>
|
||||
<entry>Waiting for a checkpoint to start.</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry><literal>ClogGroupUpdate</literal></entry>
|
||||
<entry>Waiting for group leader to update transaction status at transaction end.</entry>
|
||||
|
Reference in New Issue
Block a user