mirror of
https://github.com/postgres/postgres.git
synced 2025-07-11 10:01:57 +03:00
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
This commit is contained in:
@ -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;
|
||||
}
|
||||
|
Reference in New Issue
Block a user