On Mon, Aug 19, 2024 at 1:35 AM Peter Eisentraut <pe...@eisentraut.org> wrote: > On 17.08.24 00:01, Thomas Munro wrote: > > I think that's fine. I don't really like the word "prefetch", could > > mean many different things. What about "requires OS support for > > issuing read-ahead advice", which uses a word that appears in both of > > those interfaces? > > I like that term.
A couple of other places still use the old specific terminology. PSA.
From 287a56f8d177e56983d68cdd7201866ba119c130 Mon Sep 17 00:00:00 2001 From: Thomas Munro <thomas.mu...@gmail.com> Date: Tue, 3 Sep 2024 13:30:22 +1200 Subject: [PATCH] Standardize "read-ahead advice" terminology. Commit 6654bb920 added macOS's equivalent of POSIX_FADV_WILLNEED, and adjusted a few explicit references to posix_fadvise to use a more general name for the concept. Update some remaining references. Reviewed-by: Discussion: https://postgr.es/m/0827edec-1317-4917-a186-035eb1e3241d%40eisentraut.org --- src/backend/access/transam/xlogprefetcher.c | 2 +- src/backend/storage/aio/read_stream.c | 17 +++++++++-------- 2 files changed, 10 insertions(+), 9 deletions(-) diff --git a/src/backend/access/transam/xlogprefetcher.c b/src/backend/access/transam/xlogprefetcher.c index 3cb698d3bcb..3acaaea5b70 100644 --- a/src/backend/access/transam/xlogprefetcher.c +++ b/src/backend/access/transam/xlogprefetcher.c @@ -1083,7 +1083,7 @@ check_recovery_prefetch(int *new_value, void **extra, GucSource source) #ifndef USE_PREFETCH if (*new_value == RECOVERY_PREFETCH_ON) { - GUC_check_errdetail("\"recovery_prefetch\" is not supported on platforms that lack posix_fadvise()."); + GUC_check_errdetail("\"recovery_prefetch\" is not supported on platforms that lack support for issuing read-ahead advice."); return false; } #endif diff --git a/src/backend/storage/aio/read_stream.c b/src/backend/storage/aio/read_stream.c index 93cdd35fea0..aae92e6b1f8 100644 --- a/src/backend/storage/aio/read_stream.c +++ b/src/backend/storage/aio/read_stream.c @@ -24,16 +24,17 @@ * already. There is no benefit to looking ahead more than one block, so * distance is 1. This is the default initial assumption. * - * B) I/O is necessary, but fadvise is undesirable because the access is - * sequential, or impossible because direct I/O is enabled or the system - * doesn't support fadvise. There is no benefit in looking ahead more than + * B) I/O is necessary, but read-ahead advice is undesirable because the access + * is sequential and we can rely on the kernel's read-ahead heuristics, or + * impossible because direct I/O is enabled, or the system doesn't support + * read-ahead advice. There is no benefit in looking ahead more than * io_combine_limit, because in this case the only goal is larger read system - * calls. Looking further ahead would pin many buffers and perform - * speculative work looking ahead for no benefit. + * calls. Looking further ahead would pin many buffers and perform speculative + * work for no benefit. * - * C) I/O is necessary, it appears random, and this system supports fadvise. - * We'll look further ahead in order to reach the configured level of I/O - * concurrency. + * C) I/O is necessary, it appears to be random, and this system supports + * read-ahead advice. We'll look further ahead in order to reach the + * configured level of I/O concurrency. * * The distance increases rapidly and decays slowly, so that it moves towards * those levels as different I/O patterns are discovered. For example, a -- 2.46.0