Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit1b2bb33

Browse files
committed
Add a comment documenting the question of whether PrefetchBuffer should
try to protect an already-existing buffer from being evicted. This wasleft as an open issue when the posix_fadvise patch was committed. I'mnot sure there's any evidence to justify more work in this area, but weshould have some record about it in the source code.
1 parentcd331e4 commit1b2bb33

File tree

1 file changed

+13
-1
lines changed

1 file changed

+13
-1
lines changed

‎src/backend/storage/buffer/bufmgr.c

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
*
99
*
1010
* IDENTIFICATION
11-
* $PostgreSQL: pgsql/src/backend/storage/buffer/bufmgr.c,v 1.250 2009/03/31 22:12:48 tgl Exp $
11+
* $PostgreSQL: pgsql/src/backend/storage/buffer/bufmgr.c,v 1.251 2009/04/03 18:17:43 tgl Exp $
1212
*
1313
*-------------------------------------------------------------------------
1414
*/
@@ -153,6 +153,18 @@ PrefetchBuffer(Relation reln, ForkNumber forkNum, BlockNumber blockNum)
153153
/* If not in buffers, initiate prefetch */
154154
if (buf_id<0)
155155
smgrprefetch(reln->rd_smgr,forkNum,blockNum);
156+
157+
/*
158+
* If the block *is* in buffers, we do nothing. This is not really
159+
* ideal: the block might be just about to be evicted, which would
160+
* be stupid since we know we are going to need it soon. But the
161+
* only easy answer is to bump the usage_count, which does not seem
162+
* like a great solution: when the caller does ultimately touch the
163+
* block, usage_count would get bumped again, resulting in too much
164+
* favoritism for blocks that are involved in a prefetch sequence.
165+
* A real fix would involve some additional per-buffer state, and
166+
* it's not clear that there's enough of a problem to justify that.
167+
*/
156168
}
157169
#endif/* USE_PREFETCH */
158170
}

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp