Re: Make pg_stat_io view count IOs as bytes instead of blocks
Bertrand Drouvot <bertranddrouvot.pg@gmail.com>
From: Bertrand Drouvot <bertranddrouvot.pg@gmail.com>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: Michael Paquier <michael@paquier.xyz>, Nazir Bilal Yavuz <byavuz81@gmail.com>, Melanie Plageman <melanieplageman@gmail.com>, PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>
Date: 2025-01-16T07:12:34Z
Lists: pgsql-hackers
Hi, On Thu, Jan 16, 2025 at 12:47:17AM -0500, Tom Lane wrote: > Michael Paquier <michael@paquier.xyz> writes: > > Not completely sure about the number of parenthesis, but I hope that > > this should be enough (extra set around io_op): > > +#define pgstat_is_ioop_tracked_in_bytes(io_op) \ > > + (((unsigned int) (io_op)) < IOOP_NUM_TYPES && \ > > + ((unsigned int) (io_op)) >= IOOP_EXTEND) > > Yeah, that's safe parenthesis-wise. Whether it'll silence > the warning from those old clangs remains to be seen. Thanks for the report and the proposed "fix". From what I can see, the above proposal does (at least) silent the warning here (clang 5.0.1 and same as demoiselle): https://godbolt.org/z/cGosfzGne (we can see the warning by using the current define and that the warning is gone with the new define). Let's see on the BF. Regards, -- Bertrand Drouvot PostgreSQL Contributors Team RDS Open Source Databases Amazon Web Services: https://aws.amazon.com
Commits
-
Rework macro pgstat_is_ioop_tracked_in_bytes()
- 7b6468cc9523 18.0 landed
-
Remove assertion in pgstat_count_io_op()
- d2181b321852 18.0 landed
-
Make pg_stat_io count IOs as bytes instead of blocks for some operations
- f92c854cf406 18.0 landed
-
Merge pgstat_count_io_op_n() and pgstat_count_io_op()
- f0bf7857befe 18.0 landed