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
Message: Re: Introduce a new view for checkpointer related stats

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