v9-0002-Count-SLRU-page-flushes-during-checkpoint-or-data.patch
application/octet-stream
Filename: v9-0002-Count-SLRU-page-flushes-during-checkpoint-or-data.patch
Type: application/octet-stream
Part: 1
Patch
Format: format-patch
Series: patch v9-0002
Subject: Count SLRU page flushes during checkpoint or database shutdown
| File | + | − |
|---|---|---|
| src/backend/access/transam/slru.c | 5 | 0 |
From 8a7680657fb0b97cf8ff47bdb77144eaa6978339 Mon Sep 17 00:00:00 2001
From: Bharath Rupireddy <bharath.rupireddyforpostgres@gmail.com>
Date: Thu, 26 Oct 2023 12:52:34 +0000
Subject: [PATCH v9] Count SLRU page flushes during checkpoint or database
shutdown
SLRU page flushes aren't counted during checkpoint or database
shutdown in SlruSyncFileTag unlike flushes following page writes
in SlruPhysicalWritePage. This commit fixes it by counting the
SLRU flushes even in SlruSyncFileTag.
Author: Bharath Rupireddy
Reviewed-by: Michael Paquier
Discussion: https://www.postgresql.org/message-id/ZTnIHhZiIPpEFLbL%40paquier.xyz
---
src/backend/access/transam/slru.c | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/src/backend/access/transam/slru.c b/src/backend/access/transam/slru.c
index 9ed24e1185..9802b9e1fb 100644
--- a/src/backend/access/transam/slru.c
+++ b/src/backend/access/transam/slru.c
@@ -1593,6 +1593,7 @@ SlruScanDirectory(SlruCtl ctl, SlruScanCallback callback, void *data)
int
SlruSyncFileTag(SlruCtl ctl, const FileTag *ftag, char *path)
{
+ SlruShared shared = ctl->shared;
int fd;
int save_errno;
int result;
@@ -1611,5 +1612,9 @@ SlruSyncFileTag(SlruCtl ctl, const FileTag *ftag, char *path)
CloseTransientFile(fd);
errno = save_errno;
+
+ /* update the stats counter of flushes */
+ pgstat_count_slru_flush(shared->slru_stats_idx);
+
return result;
}
--
2.34.1