Hi,
On Wed, Dec 18, 2024 at 10:35:45AM -0500, Andres Freund wrote:
> Hi,
>
> On 2024-12-18 15:14:07 +0000, Bertrand Drouvot wrote:
> > While working on [1], it has been noticed that pgstat_flush_io() is called for
> > the walwriter. Indeed, it's coming from the pgstat_report_wal() call in
> > WalWriterMain(). That can not report any I/O stats activity (as the
> > walwriter is not part of the I/O stats tracking, see pgstat_tracks_io_bktype()).
> >
> > The behavior is there since 28e626bde00 and I did not find any explicit reason
> > to do so provided in the linked thread [2].
> >
> > Calling pgstat_flush_io() from there looks unnecessary, so $SUBJECT, until the
> > walwriter is part of the I/O stats tracking system.
>
> I don't really see the point of this change? What do we gain by moving stuff
> around like you did?
Thanks for looking at it!
The purpose is to remove the unnecessary pgstat_flush_io() call from
WalWriterMain(). In passing the patch also removes pgstat_report_wal() because
it just ends up calling pgstat_flush_wal().
Is your remark related to the way it has been done or do you think it's just
fine to keep the useless pgstat_flush_io() call? (I agree that the gain is not
that much as pgstat_io_flush_cb() probably just returns false here when checking
for "have_iostats").
Regards,
--
Bertrand Drouvot
PostgreSQL Contributors Team
RDS Open Source Databases
Amazon Web Services: https://aws.amazon.com