Tune BufferGetLSNAtomic() when checksums !enabled

From performance analysis by Heikki Linnakangas
This commit is contained in:
Simon Riggs 2013-04-07 22:37:39 +01:00
parent cf8dc9e10c
commit 1be203519a
1 changed files with 4 additions and 2 deletions

View File

@ -2079,8 +2079,10 @@ BufferGetLSNAtomic(Buffer buffer)
char *page = BufferGetPage(buffer);
XLogRecPtr lsn;
/* Local buffers don't need a lock. */
if (BufferIsLocal(buffer))
/*
* If we don't need locking for correctness, fastpath out.
*/
if (!DataChecksumsEnabled() || BufferIsLocal(buffer))
return PageGetLSN(page);
/* Make sure we've got a real buffer, and that we hold a pin on it. */