pgsql: Optimize check for pending backend IO stats

From: Michael Paquier <michael(at)paquier(dot)xyz>
To: pgsql-committers(at)lists(dot)postgresql(dot)org
Subject: pgsql: Optimize check for pending backend IO stats
Date: 2025-03-18 23:11:39
Message-ID: E1tug5z-003Acz-20@gemulon.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers

Optimize check for pending backend IO stats

This commit changes the backend stats code so as we rely on a single
boolean rather than a repeated check based on pg_memory_is_all_zeros()
in the code, making it cheaper should PgStat_PendingIO get bigger in
size.

The frequency of backend stats reports is not a bottleneck, but there is
no reason to not make that cheaper, and the logic is simple as the only
entry points updating backend IO stats are pgstat_count_backend_io_op()
and pgstat_count_backend_io_op_time().

Author: Bertrand Drouvot <bertranddrouvot(dot)pg(at)gmail(dot)com>
Reviewed-by: Xuneng Zhou <xunengzhou(at)gmail(dot)com>
Discussion: https://postgr.es/m/Z8WYf1jyy4MwOveQ@ip-10-97-1-34.eu-west-3.compute.internal

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/6d3ea48ff1aea5fb1ccfed69424bf93a8643b4a4

Modified Files
--------------
src/backend/utils/activity/pgstat_backend.c | 19 +++++++++++--------
1 file changed, 11 insertions(+), 8 deletions(-)

Browse pgsql-committers by date

  From Date Subject
Next Message Masahiko Sawada 2025-03-18 23:38:55 pgsql: Fix assertion failure in parallel vacuum with minimal maintenanc
Previous Message Andres Freund 2025-03-18 23:07:53 Re: pgsql: aio: Infrastructure for io_method=worker