Re: AIO / read stream heuristics adjustments for index prefetching - Mailing list pgsql-hackers

From Andres Freund
Subject Re: AIO / read stream heuristics adjustments for index prefetching
Date
Msg-id q46tgxvdbqvbhsvrkgaod7la3jbbecjitpwanwse3jeu4ervdr@z3zqxlcxcgtd
Whole thread
In response to Re: AIO / read stream heuristics adjustments for index prefetching  (Melanie Plageman <melanieplageman@gmail.com>)
List pgsql-hackers
Hi,

Forgot to send this one earlier:

On 2026-04-03 11:46:59 -0400, Melanie Plageman wrote:
> On Thu, Apr 2, 2026 at 11:47 AM Andres Freund <andres@anarazel.de> wrote:
> >
> > What do you think about the updated patch to achieve that that I posted?
> 
> here is some review on 0005 and 0006 earlier posted
> concrete things:
> -------
> - I’d reorder stream→distance == 0 in read_stream_look_ahead() (and
> issue), I found myself asking why it wasn’t first

It'd not be correct in should_issue_now(). We can't move it before

    /* there is no pending IO that could be issued */
    if (pending_read_nblocks == 0)
        return false;

because then we'd trigger a call to read_stream_start_pending_read(), without
there being a pending read.

We can't move it before

    /* never start more IOs than our cap */
    if (stream->ios_in_progress >= stream->max_ios)
        return false;

because that could lead us to exceeding max_ios.

Greetings,

Andres Freund



pgsql-hackers by date:

Previous
From: Andres Freund
Date:
Subject: Re: AIO / read stream heuristics adjustments for index prefetching
Next
From: Mateusz Kosek
Date:
Subject: BUG??/FEATURE REQUEST: Streaming replication walreceiver doesn't restart after standby reboot with recovery_min_apply_delay