Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
Skip to content

Commit 1be2035

Browse files
Tune BufferGetLSNAtomic() when checksums !enabled
From performance analysis by Heikki Linnakangas
1 parent cf8dc9e commit 1be2035

File tree

1 file changed

+4
-2
lines changed

1 file changed

+4
-2
lines changed

src/backend/storage/buffer/bufmgr.c

+4-2
Original file line numberDiff line numberDiff line change
@@ -2079,8 +2079,10 @@ BufferGetLSNAtomic(Buffer buffer)
20792079
char *page = BufferGetPage(buffer);
20802080
XLogRecPtr lsn;
20812081

2082-
/* Local buffers don't need a lock. */
2083-
if (BufferIsLocal(buffer))
2082+
/*
2083+
* If we don't need locking for correctness, fastpath out.
2084+
*/
2085+
if (!DataChecksumsEnabled() || BufferIsLocal(buffer))
20842086
return PageGetLSN(page);
20852087

20862088
/* Make sure we've got a real buffer, and that we hold a pin on it. */

0 commit comments

Comments
 (0)