postgresql/src/backend/storage
Andres Freund 75848bc744 snapshot scalability: Move delayChkpt from PGXACT to PGPROC.
The goal of separating hotly accessed per-backend data from PGPROC
into PGXACT is to make accesses fast (GetSnapshotData() in
particular). But delayChkpt is not actually accessed frequently; only
when starting a checkpoint. As it is frequently modified (multiple
times in the course of a single transaction), storing it in the same
cacheline as hotly accessed data unnecessarily dirties a contended
cacheline.

Therefore move delayChkpt to PGPROC.

This is part of a larger series of patches intending to improve
GetSnapshotData() scalability. It is committed and pushed separately,
as it is independently beneficial (small but measurable win, limited
by the other frequent modifications of PGXACT).

Author: Andres Freund
Reviewed-By: Robert Haas, Thomas Munro, David Rowley
Discussion: https://postgr.es/m/20200301083601.ews6hz5dduc3w2se@alap3.anarazel.de
2020-04-07 17:36:23 -07:00
..
buffer snapshot scalability: Move delayChkpt from PGXACT to PGPROC. 2020-04-07 17:36:23 -07:00
file Remove HAVE_WORKING_LINK 2020-03-11 11:23:04 +01:00
freespace Update copyrights for 2020 2020-01-01 12:21:45 -05:00
ipc snapshot scalability: Move delayChkpt from PGXACT to PGPROC. 2020-04-07 17:36:23 -07:00
large_object Remove utils/acl.h from catalog/objectaddress.h 2020-03-10 10:27:00 +01:00
lmgr snapshot scalability: Move delayChkpt from PGXACT to PGPROC. 2020-04-07 17:36:23 -07:00
page Document that pg_checksums exists in checksums README 2020-03-26 15:05:54 +01:00
smgr Skip WAL for new relfilenodes, under wal_level=minimal. 2020-04-04 12:25:34 -07:00
sync Fix typos. 2020-02-10 09:31:18 +05:30
Makefile Refactor the fsync queue for wider use. 2019-04-04 23:38:38 +13:00