From 5fb6f6e9f3e45bd573a087ab70be039aa1b9bbe0 Mon Sep 17 00:00:00 2001 From: reshke kirill Date: Tue, 21 Jun 2022 10:21:46 +0300 Subject: [PATCH v1] Use fadvise to prefect wal in xlogrecovery --- src/backend/access/transam/xlogrecovery.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/backend/access/transam/xlogrecovery.c b/src/backend/access/transam/xlogrecovery.c index 6eba626420..19c0caa058 100644 --- a/src/backend/access/transam/xlogrecovery.c +++ b/src/backend/access/transam/xlogrecovery.c @@ -3237,6 +3237,13 @@ retry: Assert(targetPageOff == readOff); Assert(reqLen <= readLen); + /* + * Request next wal block, to avoid page miss on next read iteration. + */ +#if defined(USE_POSIX_FADVISE) && defined(POSIX_FADV_WILLNEED) + posix_fadvise(readFile, readOff + XLOG_BLCKSZ, XLOG_BLCKSZ, POSIX_FADV_WILLNEED); +#endif + xlogreader->seg.ws_tli = curFileTLI; /* -- 2.25.1