pgsql: Delay commit status checks until freezing executes. - Mailing list pgsql-committers

From Peter Geoghegan
Subject pgsql: Delay commit status checks until freezing executes.
Date
Msg-id E1pCmsu-001snM-Rr@gemulon.postgresql.org
Whole thread Raw
List pgsql-committers
Delay commit status checks until freezing executes.

pg_xact lookups are relatively expensive.  Move the xmin/xmax commit
status checks from the point that freeze plans are prepared to the point
that they're actually executed.  Otherwise we'll repeat many commit
status checks whenever multiple successive VACUUM operations scan the
same pages and decide against freezing each time, which is a waste of
cycles.

Oversight in commit 1de58df4, which added page-level freezing.

Author: Peter Geoghegan <pg@bowt.ie>
Discussion: https://postgr.es/m/CAH2-WzkZpe4K6qMfEt8H4qYJCKc2R7TPvKsBva7jc9w7iGXQSw@mail.gmail.com

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/79d4bf4eff14d8967b10ad4c60039c1b9b0cf66e

Modified Files
--------------
src/backend/access/heap/heapam.c | 89 ++++++++++++++++++++++++++++------------
src/include/access/heapam.h      |  9 ++++
2 files changed, 71 insertions(+), 27 deletions(-)


pgsql-committers by date:

Previous
From: Peter Geoghegan
Date:
Subject: pgsql: Refine the definition of page-level freezing.
Next
From: Peter Geoghegan
Date:
Subject: pgsql: vacuumlazy.c: Save get_database_name() in vacrel.