Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1w7wvb-00040W-20 for pgsql-hackers@arkaria.postgresql.org; Wed, 01 Apr 2026 14:52:19 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1w7wva-000gBL-1l for pgsql-hackers@arkaria.postgresql.org; Wed, 01 Apr 2026 14:52:18 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1w7wva-000gB6-0o for pgsql-hackers@lists.postgresql.org; Wed, 01 Apr 2026 14:52:18 +0000 Received: from mail-ed1-x533.google.com ([2a00:1450:4864:20::533]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.98.2) (envelope-from ) id 1w7wvY-000000001dY-3ujs for pgsql-hackers@postgresql.org; Wed, 01 Apr 2026 14:52:17 +0000 Received: by mail-ed1-x533.google.com with SMTP id 4fb4d7f45d1cf-66d65646c65so2376737a12.1 for ; Wed, 01 Apr 2026 07:52:16 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1775055136; cv=none; d=google.com; s=arc-20240605; b=hdss58QUmIoPTZvHygBJtKAJeP457I8fj1r78in5sKGzy8WJvFtBTvW/bu0kdnLULP 88koxY8apldINI+2eioISLvgurp5T4sCj24oHqmEa9twYjo3R+/7Ym2z4XCl+jTBKz/R AOtKXyoLAvdBAjzaOYi7G6Fv4AlOakE0eVa+eYQzZcEEn/0aImBoxgzeljSNRBVWaIk+ 3AjlZ0us+89HvgUfdz+nDl17pPvfKbhxkJP4dRYKw+JfT1tEBxUozdosXnw/1GkynDue 1NjgLzvLYcCg1wfaEYsFKZTy7F7LZp9hqwEHe1xL6zpF/3wu4jS77i9Zw3Q07cSJXGfX 6tCA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:dkim-signature; bh=N9GQRGU2q9GOKyN8dNpsH+e4QbdTsMxDyDQ3a5iuuQQ=; fh=62GROJdbzln/QsGjE7a71YRuD5BIah4s1ki9oo1aJ7c=; b=LPZY0aphvYnD2k2wSAvKGxGAhrkUsj+yR/+vQHNrGYg/DXzN9jmWBxKbnwaYUBm27G CaU08sxixTwg9QuzXtwV8X/P2WOHok2/GleM4EwqcswveFVZPP+eEjhZt6faHHfdx54g yemmU4vMqObewNtq+AIAL3JJ7fPqcQOJ0VQaQ5Hg7SjR3NCzOGAi7kgRRdCcVCiO3sHy VNc8ty+gPc9HzFKnue/U9ibK/tdrYOp+R9DHfEMUwNbTpc1w5bvqWWx5fbKzKcw+rx37 9Ry+fwM+5XQcnUyPRsiMTMJpKk8dO+DH4Hmvg4h51S9YJiSlh0czJYc7ylJq2//KCx5K Wl6A==; darn=postgresql.org ARC-Authentication-Results: i=1; mx.google.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1775055136; x=1775659936; darn=postgresql.org; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=N9GQRGU2q9GOKyN8dNpsH+e4QbdTsMxDyDQ3a5iuuQQ=; b=ofddvbaVtW1kXb8g/EsCKqoQ7FmC2aycgcegl/yJOtymzC4X0Yla+M5djNK13jB4PB ZWtTeiE+UgK3UjxKpbzjpHrUnPPKzWp+ar9L4gmA84Jn4lgyj4/Z9bPvvhpzTf8TZJJb UV/0va4lNqBdbPjgc4OuIzQJtWU97DokobQ/H3xAUKNfZ5zIL/VmvKE//GdF9TFvpfyg F8RWHLHVfxtMpAdQOqy3jF0nW+YM8T/yPrHLj+D1eL3KDmfs1Cc5NhQ6CQWlVhHzMMvL akDiP0XS9fh0LZrm4Akj0+jYyPHMG9utlwgVBMkBqUHbYxwX7xyJa3fWS2zQDk1ZeVtO 2jpw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1775055136; x=1775659936; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=N9GQRGU2q9GOKyN8dNpsH+e4QbdTsMxDyDQ3a5iuuQQ=; b=mTMZNRdjnYeflnYw0UuqKtublX6uWl19//EFb1zwrvoJt7NTDLXKg5PaYPeUXhpOud Gya0wqaNhJnvD6AsVyf6tdH//LiFHd3zvNheimZGYU4LTvZfvSA7LlFcVDE0aU4itFMd rDhRWAO8LOl/fCRGP21+VnRYT8T5IZ3eMRUFSsdF4LtinRM4nu0DFkfEmBfi5uEt20by O9EWE3hZ2OuTCJOFEET4bpgwoad3BHaDho9q3KlRUsqYu/dagyVTIi7C3+A/+VtFvjyJ qzO4Nc7FxKlMdI9GujE6qbY+7grYSgbYY/9XjUC16kIUryJrHaw91HvDzJTuP1Pff/jz QHhA== X-Gm-Message-State: AOJu0YzpQ/JDOHoOR/nEHvULFUJdJycYuU7pGRy7GNjCMAsZscPtuBYa aEYj8TO57UioNT3e543JBdo9KhEHo3eS78lyJw+FPXQiWrcBiSfDRE3S8S9Y8pigkYfGXkp/HGt 3ZqY8ZSNe/WsEt2UcOzXMAwsuECIKSp0= X-Gm-Gg: ATEYQzwtUkzlm4X+U17JMnasWiWjrMOtcBvFOR2jWvA0cpBxum1WZUK3lQM96atX6cD Msz+j9O9hEBwt8+mExdErzBCQpUTlhSU7qdVvS3BXR0bVIbB213AnBarxfwYxBvBkN28dxc/ac4 KVfF1hdPApXMabcRpD6EMplW6FGZ28eYe8KGsvzG3HVFSasELwZBS4tHGfai3/a7KkLZpFt2+YD 9MZqITG76jHFgYBbuA0puyHyHadX+A7fVeNU1jqY36WldnQrLmPe3D+wQG4qMzbJYoXy4b8RrjV MrlZNPxspYQ+RvSTplBMV/pv1Lxa3sE3PfSyNxZHrrZu9nrUOh/QxhrE8i7RRJfWULrMh/zMRJg 08QYgy0s0jI5kYRTbUfk= X-Received: by 2002:a05:6402:20c9:b0:66c:461d:1e6a with SMTP id 4fb4d7f45d1cf-66dcdb6aeb5mr1680498a12.11.1775055135325; Wed, 01 Apr 2026 07:52:15 -0700 (PDT) MIME-Version: 1.0 References: In-Reply-To: From: Melanie Plageman Date: Wed, 1 Apr 2026 10:52:03 -0400 X-Gm-Features: AQROBzADoR-STyTddhpTWygX-HGrsrkfYZ2QrvmNEEjZg3W56mVygctt5F6qts4 Message-ID: Subject: Re: AIO / read stream heuristics adjustments for index prefetching To: Andres Freund Cc: pgsql-hackers@postgresql.org, Thomas Munro , Peter Geoghegan , Tomas Vondra , Nazir Bilal Yavuz Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk On Tue, Mar 31, 2026 at 12:02=E2=80=AFPM Andres Freund = wrote: > > 0008: WIP: read stream: Split decision about look ahead for AIO and combi= ning > > Until now read stream has used a single look-ahead distance to contro= l > lookahead for both IO combining and read-ahead. That's sub-optimal, a= s we > want to do IO combining even when we don't need to do any readahead, = as > avoiding the syscall overhead is important to reduce CPU overhead whe= n > data is in the kernel page cache. > > This is a prototype for what it could look like to split those > decisions. Thereby fixing the regression mentioned in 0006. I wonder if we need to keep the combine_limit member in the read stream. Could we just use io_combine_limit without ramping up and down? This is mainly for code complexity reasons. Perhaps to allow fast path reentry, we could use distance_decay_holdoff =3D=3D 0 and ios_in_progress =3D=3D 0 instead of combine_distance =3D=3D 0. - Melanie