Skip to content

Commit f0bf785

Browse files
committed
Merge pgstat_count_io_op_n() and pgstat_count_io_op()
The pgstat_count_io_op() function, which counts a single I/O operation, wraps pgstat_count_io_op_n() with a counter value of 1. The latter is declared in pgstat.h and used nowhere in the code, so let's remove it in favor of the former. This change makes also the code more symmetric with pgstat_count_io_op_time(), that already uses a similar set of arguments, except that it counts also the I/O time. This will ease a bit the integration of a follow-up patch that adds byte-level tracking in pg_stat_io for some of its attributes, lifting the current restriction based on BLCKSZ as all I/O operations are assumed to be block-based. Author: Nazir Bilal Yavuz Reviewed-by: Bertrand Drouvot Discussion: https://postgr.es/m/CAN55FZ32ze812=yjyZg1QeXhKvACUM_Nu0_gyPQcUKKuVHL5xA@mail.gmail.com
1 parent 2c14037 commit f0bf785

File tree

4 files changed

+8
-14
lines changed

4 files changed

+8
-14
lines changed

src/backend/storage/buffer/bufmgr.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1165,7 +1165,7 @@ PinBufferForBlock(Relation rel,
11651165
}
11661166
if (*foundPtr)
11671167
{
1168-
pgstat_count_io_op(io_object, io_context, IOOP_HIT);
1168+
pgstat_count_io_op(io_object, io_context, IOOP_HIT, 1);
11691169
if (VacuumCostActive)
11701170
VacuumCostBalance += VacuumCostPageHit;
11711171

@@ -2073,7 +2073,7 @@ GetVictimBuffer(BufferAccessStrategy strategy, IOContext io_context)
20732073
* pinners or erroring out.
20742074
*/
20752075
pgstat_count_io_op(IOOBJECT_RELATION, io_context,
2076-
from_ring ? IOOP_REUSE : IOOP_EVICT);
2076+
from_ring ? IOOP_REUSE : IOOP_EVICT, 1);
20772077
}
20782078

20792079
/*

src/backend/storage/buffer/localbuf.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -279,7 +279,7 @@ GetLocalVictimBuffer(void)
279279
ClearBufferTag(&bufHdr->tag);
280280
buf_state &= ~(BUF_FLAG_MASK | BUF_USAGECOUNT_MASK);
281281
pg_atomic_unlocked_write_u32(&bufHdr->state, buf_state);
282-
pgstat_count_io_op(IOOBJECT_TEMP_RELATION, IOCONTEXT_NORMAL, IOOP_EVICT);
282+
pgstat_count_io_op(IOOBJECT_TEMP_RELATION, IOCONTEXT_NORMAL, IOOP_EVICT, 1);
283283
}
284284

285285
return BufferDescriptorGetBuffer(bufHdr);

src/backend/utils/activity/pgstat_io.c

Lines changed: 3 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -66,13 +66,7 @@ pgstat_bktype_io_stats_valid(PgStat_BktypeIO *backend_io,
6666
}
6767

6868
void
69-
pgstat_count_io_op(IOObject io_object, IOContext io_context, IOOp io_op)
70-
{
71-
pgstat_count_io_op_n(io_object, io_context, io_op, 1);
72-
}
73-
74-
void
75-
pgstat_count_io_op_n(IOObject io_object, IOContext io_context, IOOp io_op, uint32 cnt)
69+
pgstat_count_io_op(IOObject io_object, IOContext io_context, IOOp io_op, uint32 cnt)
7670
{
7771
Assert((unsigned int) io_object < IOOBJECT_NUM_TYPES);
7872
Assert((unsigned int) io_context < IOCONTEXT_NUM_TYPES);
@@ -116,7 +110,7 @@ pgstat_prepare_io_time(bool track_io_guc)
116110
}
117111

118112
/*
119-
* Like pgstat_count_io_op_n() except it also accumulates time.
113+
* Like pgstat_count_io_op() except it also accumulates time.
120114
*/
121115
void
122116
pgstat_count_io_op_time(IOObject io_object, IOContext io_context, IOOp io_op,
@@ -159,7 +153,7 @@ pgstat_count_io_op_time(IOObject io_object, IOContext io_context, IOOp io_op,
159153
}
160154
}
161155

162-
pgstat_count_io_op_n(io_object, io_context, io_op, cnt);
156+
pgstat_count_io_op(io_object, io_context, io_op, cnt);
163157
}
164158

165159
PgStat_IO *

src/include/pgstat.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -603,8 +603,8 @@ extern PgStat_CheckpointerStats *pgstat_fetch_stat_checkpointer(void);
603603

604604
extern bool pgstat_bktype_io_stats_valid(PgStat_BktypeIO *backend_io,
605605
BackendType bktype);
606-
extern void pgstat_count_io_op(IOObject io_object, IOContext io_context, IOOp io_op);
607-
extern void pgstat_count_io_op_n(IOObject io_object, IOContext io_context, IOOp io_op, uint32 cnt);
606+
extern void pgstat_count_io_op(IOObject io_object, IOContext io_context,
607+
IOOp io_op, uint32 cnt);
608608
extern instr_time pgstat_prepare_io_time(bool track_io_guc);
609609
extern void pgstat_count_io_op_time(IOObject io_object, IOContext io_context,
610610
IOOp io_op, instr_time start_time, uint32 cnt);

0 commit comments

Comments
 (0)