Re: USE_BARRIER_SMGRRELEASE on Linux? - Mailing list pgsql-hackers

From Nathan Bossart
Subject Re: USE_BARRIER_SMGRRELEASE on Linux?
Date
Msg-id 20220216065732.GA2932808@nathanxps13
Whole thread Raw
In response to Re: USE_BARRIER_SMGRRELEASE on Linux?  (Nathan Bossart <nathandbossart@gmail.com>)
Responses Re: USE_BARRIER_SMGRRELEASE on Linux?
List pgsql-hackers
On Tue, Feb 15, 2022 at 10:14:04PM -0800, Nathan Bossart wrote:
> It looks like register_unlink_segment() is called prior to the checkpoint,
> but the checkpointer is not calling RememberSyncRequest() until after
> SyncPreCheckpoint().  This means that the requests are registered with the
> next checkpoint cycle count, so they aren't processed until the next
> checkpoint.

Calling AbsorbSyncRequests() before advancing the checkpoint cycle counter
seems to fix the issue.  However, this requires moving SyncPreCheckpoint()
out of the critical section in CreateCheckPoint().  Patch attached.

-- 
Nathan Bossart
Amazon Web Services: https://aws.amazon.com

Attachment

pgsql-hackers by date:

Previous
From: Andres Freund
Date:
Subject: Re: Adding CI to our tree
Next
From: Greg Stark
Date:
Subject: Re: Observability in Postgres