Remove empty function BufmgrCommit().
authorTom Lane <[email protected]>
Wed, 29 Mar 2023 13:13:57 +0000 (09:13 -0400)
committerTom Lane <[email protected]>
Wed, 29 Mar 2023 13:13:57 +0000 (09:13 -0400)
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
src/backend/storage/buffer/bufmgr.c
src/include/storage/bufmgr.h

index b87640126075cc54480dcb1fbb582e9dc6486689..231af52cc92f49aad7a1985daa3b4738f27d0d45 100644 (file)
@@ -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.
index 95212a39416eece3a448f12cb8f82dc53a9f78e7..fe029d2ea60024a05b9ee9ca4d0ec774387a3208 100644 (file)
@@ -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.
index b8a18b8081f5b9dde413e0640819e3e57af5e2a8..73762cb1ec8d6eb743f200953f64da571b423cca 100644 (file)
@@ -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);