Re: AIO writes vs hint bits vs checksums - Mailing list pgsql-hackers

From Thomas Munro
Subject Re: AIO writes vs hint bits vs checksums
Date
Msg-id CA+hUKGL-sZrfwcdme8jERPbn+sGbY13sRCvq8b9Hp=haWpC6fw@mail.gmail.com
Whole thread Raw
In response to Re: AIO writes vs hint bits vs checksums  (Andres Freund <andres@anarazel.de>)
Responses Re: AIO writes vs hint bits vs checksums
List pgsql-hackers
On Wed, Sep 25, 2024 at 8:30 AM Andres Freund <andres@anarazel.de> wrote:
> Just ran that. There probably is a performance difference, but it's small
> (<0.5%) making it somewhat hard to be certain. It looks like the main reason
> for that is ConditionVariableBroadcast() on the iocv shows up even though
> nobody is waiting.

. o O { Gotta fix that.  Memory barriers might be enough to check for
empty wait list?, and even in the slow path, atomic wait lists or
something better than spinlocks... }

> However, our habit of modifying buffers while IO is going on is
> causing issues with filesystem level checksums as well, as evidenced by the
> fact that debug_io_direct = data on btrfs causes filesystem corruption. So I
> tend to think it'd be better to just stop doing that alltogether (we also do
> that for WAL, when writing out a partial page, but a potential fix there would
> be different, I think).

+many.  Interesting point re the WAL variant.  For the record, here's
some discussion and a repro for that problem, which Andrew currently
works around in a build farm animal with mount options:

https://www.postgresql.org/message-id/CA%2BhUKGKSBaz78Fw3WTF3Q8ArqKCz1GgsTfRFiDPbu-j9OFz-jw%40mail.gmail.com



pgsql-hackers by date:

Previous
From: "David G. Johnston"
Date:
Subject: Re: How to send patch with so many files changes?
Next
From: Tony Wayne
Date:
Subject: Re: How to send patch with so many files changes?