On Sun, Nov 28, 2021 at 10:03 AM Michael Paquier <michael@paquier.xyz> wrote:
> We want to update the
> control file's timestamp when it is written, before calculating its
> CRC.
Okay.
> > Why do we even need UpdateControlFile which just calls another
> > function? It may be there for usability and readability, but can't the
> > pg backend code just call update_controlfile(DataDir, ControlFile,
> > true); directly so that a function call cost can be avoided?
> > Otherwise, why can't we make UpdateControlFile an inline function? I'm
> > not sure if any of the compilers will ever optimize by inlining it
> > without the "inline" keyword.
>
> I would leave it as-is as UpdateControlFile() is a public API old
> enough to vote (a70e74b0). Anyway, that's a useful wrapper for the
> backend.
In that case, why can't we inline UpdateControlFile to avoid the
function call cost? Do you see any issues with it?
BTW, the v6 patch proposed by Amul at [1], looks good to me.
[1] - https://www.postgresql.org/message-id/CAAJ_b94_s-VQs3Vtn_X-ReYr1DzaEakwPi80D1UYSmV3-f%2B_pw%40mail.gmail.com
Regards,
Bharath Rupireddy.