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