diff options
author | Thomas Munro <tmunro@postgresql.org> | 2023-12-16 16:14:47 +1300 |
---|---|---|
committer | Thomas Munro <tmunro@postgresql.org> | 2023-12-16 17:51:21 +1300 |
commit | b485ad7f07c80efbfd47329f138f0fe3a5acf013 (patch) | |
tree | 033c507f439b762b4f6ee6db9d034733706fd4c3 /src/backend/storage/buffer/bufmgr.c | |
parent | 59bd34c2fa02b005dc33190245b2bffc6a08c0b9 (diff) | |
download | postgresql-b485ad7f07c80efbfd47329f138f0fe3a5acf013.tar.gz postgresql-b485ad7f07c80efbfd47329f138f0fe3a5acf013.zip |
Provide multi-block smgrprefetch().
Previously smgrprefetch() could issue POSIX_FADV_WILLNEED advice for a
single block at a time. Add an nblocks argument so that we can do the
same for a range of blocks. This usually produces a single system call,
but might need to loop if it crosses a segment boundary. Initially it
is only called with nblocks == 1, but proposed patches will make wider
calls.
Reviewed-by: Heikki Linnakangas <hlinnaka@iki.fi> (earlier version)
Discussion: https://postgr.es/m/CA+hUKGJkOiOCa+mag4BF+zHo7qo=o9CFheB8=g6uT5TUm2gkvA@mail.gmail.com
Diffstat (limited to 'src/backend/storage/buffer/bufmgr.c')
-rw-r--r-- | src/backend/storage/buffer/bufmgr.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/backend/storage/buffer/bufmgr.c b/src/backend/storage/buffer/bufmgr.c index f7c67d504cd..de8b5edbfbf 100644 --- a/src/backend/storage/buffer/bufmgr.c +++ b/src/backend/storage/buffer/bufmgr.c @@ -569,7 +569,7 @@ PrefetchSharedBuffer(SMgrRelation smgr_reln, * recovery if the relation file doesn't exist. */ if ((io_direct_flags & IO_DIRECT_DATA) == 0 && - smgrprefetch(smgr_reln, forkNum, blockNum)) + smgrprefetch(smgr_reln, forkNum, blockNum, 1)) { result.initiated_io = true; } |