Re: Don't synchronously wait for already-in-progress IO in read stream
Peter Geoghegan <pg@bowt.ie>
From: Peter Geoghegan <pg@bowt.ie>
To: Andres Freund <andres@anarazel.de>
Cc: pgsql-hackers@postgresql.org, Tomas Vondra <tv@fuzzy.cz>, Thomas Munro <thomas.munro@gmail.com>
Date: 2025-11-09T19:51:08Z
Lists: pgsql-hackers
Commits
Same data as JSON:
GET /api/v1/messages/:b64id/commits
the thread's linked commits as JSON, with link sources.
API reference →
-
bufmgr: Improve StartBufferIO interface
- 74eafeab1a57 19 (unreleased) landed
-
test_aio: Add basic tests for StartReadBuffers()
- 020c02bd9089 19 (unreleased) landed
-
test_aio: Add read_stream test infrastructure & tests
- 1f6f200cab67 19 (unreleased) landed
-
bufmgr: Make buffer hit helper
- df09452c3209 19 (unreleased) landed
-
bufmgr: Pass io_object and io_context through to PinBufferForBlock()
- c2a68e08b13f 19 (unreleased) landed
-
bufmgr: Restructure AsyncReadBuffers()
- 8a1a1d6ab862 19 (unreleased) landed
-
aio: Refactor tests in preparation for more tests
- 906a0469728e 19 (unreleased) landed
On Thu, Sep 11, 2025 at 5:46 PM Andres Freund <andres@anarazel.de> wrote: > The problem leading to that is that we are currently synchronously waiting for > IO on a buffer when AsyncReadBuffers() encounters a buffer already undergoing > IO. If a block is read twice, that means we won't actually have enough IOs in > flight to have good performance. What's worse, currently the wait is not > attributed to IO wait (since we're waiting in WaitIO, rather than waiting for > IO). This patch no longer cleanly applies. Can you post a new version? Thanks -- Peter Geoghegan