Re: AIO writes vs hint bits vs checksums
От | Thomas Munro |
---|---|
Тема | Re: AIO writes vs hint bits vs checksums |
Дата | |
Msg-id | CA+hUKGL-sZrfwcdme8jERPbn+sGbY13sRCvq8b9Hp=haWpC6fw@mail.gmail.com обсуждение исходный текст |
Ответ на | Re: AIO writes vs hint bits vs checksums (Andres Freund <andres@anarazel.de>) |
Ответы |
Re: AIO writes vs hint bits vs checksums
|
Список | 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 по дате отправления: