postgres.git / summary / log / commit / refs
commit 58c9600a9f5818f63712ae4262143c42517dcba7
Author: Tom Lane <tgl@sss.pgh.pa.us>
Date: Wed Mar 29 13:13:57 2023 +0000
First released in: 16.0
Remove empty function BufmgrCommit().
This function has been a no-op for over a decade. Even if bufmgr
regains a need to be called during commit, it seems unlikely that
the most appropriate call points would be precisely here, so it's not
doing us much good as a placeholder either. Now, removing it probably
doesn't save any noticeable number of cycles --- but the main call is
inside the commit critical section, and the less work done there the
better.
Matthias van de Meent
Discussion: https://postgr.es/m/CAEze2Wi1=tLKbxZnXzcD+8fYKyKqBtivVakLQC_mYBsP4Y8qVA@mail.gmail.com
src/backend/access/transam/xact.c | 12 +++---------
src/backend/storage/buffer/bufmgr.c | 10 ----------
src/include/storage/bufmgr.h | 1 -
3 files changed, 3 insertions(+), 20 deletions(-)
diff --git a/src/backend/access/transam/xact.c b/src/backend/access/transam/xact.c
index b8764012607..231af52cc92 100644
--- a/src/backend/access/transam/xact.c
+++ b/src/backend/access/transam/xact.c
@@ -1373,12 +1373,6 @@ RecordTransactionCommit(void)
replorigin = (replorigin_session_origin != InvalidRepOriginId &&
replorigin_session_origin != DoNotReplicateId);
- /*
- * Begin commit critical section and insert the commit XLOG record.
- */
- /* Tell bufmgr and smgr to prepare for commit */
- BufmgrCommit();
-
/*
* Mark ourselves as within our "commit critical section". This
* forces any concurrent checkpoint to wait until we've updated
@@ -1400,6 +1394,9 @@ RecordTransactionCommit(void)
START_CRIT_SECTION();
MyProc->delayChkptFlags |= DELAY_CHKPT_START;
+ /*
+ * Insert the commit XLOG record.
+ */
XactLogCommitRecord(GetCurrentTransactionStopTimestamp(),
nchildren, children, nrels, rels,
ndroppedstats, droppedstats,
@@ -2536,9 +2533,6 @@ PrepareTransaction(void)
prepared_at = GetCurrentTimestamp();
- /* Tell bufmgr and smgr to prepare for commit */
- BufmgrCommit();
-
/*
* Reserve the GID for this transaction. This could fail if the requested
* GID is invalid or already in use.
diff --git a/src/backend/storage/buffer/bufmgr.c b/src/backend/storage/buffer/bufmgr.c
index 95212a39416..fe029d2ea60 100644
--- a/src/backend/storage/buffer/bufmgr.c
+++ b/src/backend/storage/buffer/bufmgr.c
@@ -2789,16 +2789,6 @@ CheckPointBuffers(int flags)
BufferSync(flags);
}
-
-/*
- * Do whatever is needed to prepare for commit at the bufmgr and smgr levels
- */
-void
-BufmgrCommit(void)
-{
- /* Nothing to do in bufmgr anymore... */
-}
-
/*
* BufferGetBlockNumber
* Returns the block number associated with a buffer.
diff --git a/src/include/storage/bufmgr.h b/src/include/storage/bufmgr.h
index b8a18b8081f..73762cb1ec8 100644
--- a/src/include/storage/bufmgr.h
+++ b/src/include/storage/bufmgr.h
@@ -182,7 +182,6 @@ extern bool HoldingBufferPinThatDelaysRecovery(void);
extern void AbortBufferIO(void);
-extern void BufmgrCommit(void);
extern bool BgBufferSync(struct WritebackContext *wb_context);
extern void TestForOldSnapshot_impl(Snapshot snapshot, Relation relation);
[parent: 7081ac46ace8]