mirror of
https://github.com/postgres/postgres.git
synced 2025-05-01 01:04:50 +03:00
Create a distinct wait event for POSIX DSM allocation.
Previously we displayed "DSMFillZeroWrite" while in posix_fallocate(), because we shared the same wait event for "mmap" and "posix" DSM types. Let's introduce a new wait event "DSMAllocate", to be more accurate. Reported-by: Andres Freund <andres@anarazel.de> Discussion: https://postgr.es/m/20220711174518.yldckniicknsxgzl%40awork3.anarazel.de
This commit is contained in:
parent
712704d353
commit
7bae3bbf62
@ -1296,6 +1296,11 @@ postgres 27093 0.0 0.0 30096 2752 ? Ss 11:34 0:00 postgres: ser
|
||||
<entry><literal>CopyFileWrite</literal></entry>
|
||||
<entry>Waiting for a write during a file copy operation.</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry><literal>DSMAllocate</literal></entry>
|
||||
<entry>Waiting for a dynamic shared memory segment to be
|
||||
allocated.</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry><literal>DSMFillZeroWrite</literal></entry>
|
||||
<entry>Waiting to fill a dynamic shared memory backing file with
|
||||
|
@ -364,7 +364,7 @@ dsm_impl_posix_resize(int fd, off_t size)
|
||||
*/
|
||||
PG_SETMASK(&BlockSig);
|
||||
|
||||
pgstat_report_wait_start(WAIT_EVENT_DSM_FILL_ZERO_WRITE);
|
||||
pgstat_report_wait_start(WAIT_EVENT_DSM_ALLOCATE);
|
||||
#if defined(HAVE_POSIX_FALLOCATE) && defined(__linux__)
|
||||
/*
|
||||
* On Linux, a shm_open fd is backed by a tmpfs file. If we were to use
|
||||
|
@ -585,6 +585,9 @@ pgstat_get_wait_io(WaitEventIO w)
|
||||
case WAIT_EVENT_DATA_FILE_WRITE:
|
||||
event_name = "DataFileWrite";
|
||||
break;
|
||||
case WAIT_EVENT_DSM_ALLOCATE:
|
||||
event_name = "DSMAllocate";
|
||||
break;
|
||||
case WAIT_EVENT_DSM_FILL_ZERO_WRITE:
|
||||
event_name = "DSMFillZeroWrite";
|
||||
break;
|
||||
|
@ -178,6 +178,7 @@ typedef enum
|
||||
WAIT_EVENT_DATA_FILE_SYNC,
|
||||
WAIT_EVENT_DATA_FILE_TRUNCATE,
|
||||
WAIT_EVENT_DATA_FILE_WRITE,
|
||||
WAIT_EVENT_DSM_ALLOCATE,
|
||||
WAIT_EVENT_DSM_FILL_ZERO_WRITE,
|
||||
WAIT_EVENT_LOCK_FILE_ADDTODATADIR_READ,
|
||||
WAIT_EVENT_LOCK_FILE_ADDTODATADIR_SYNC,
|
||||
|
Loading…
x
Reference in New Issue
Block a user