postgresql/src/include
Andres Freund 73487a60fc snapshot scalability: Move subxact info to ProcGlobal, remove PGXACT.
Similar to the previous changes this increases the chance that data
frequently needed by GetSnapshotData() stays in l2 cache. In many
workloads subtransactions are very rare, and this makes the check for
that considerably cheaper.

As this removes the last member of PGXACT, there is no need to keep it
around anymore.

On a larger 2 socket machine this and the two preceding commits result
in a ~1.07x performance increase in read-only pgbench. For read-heavy
mixed r/w workloads without row level contention, I see about 1.1x.

Author: Andres Freund <andres@anarazel.de>
Reviewed-By: Robert Haas <robertmhaas@gmail.com>
Reviewed-By: Thomas Munro <thomas.munro@gmail.com>
Reviewed-By: David Rowley <dgrowleyml@gmail.com>
Discussion: https://postgr.es/m/20200301083601.ews6hz5dduc3w2se@alap3.anarazel.de
2020-08-14 15:33:35 -07:00
..
access snapshot scalability: Don't compute global horizons while building snapshots. 2020-08-12 16:03:49 -07:00
bootstrap Update copyrights for 2020 2020-01-01 12:21:45 -05:00
catalog Rename VariableCacheData.nextFullXid to nextXid. 2020-08-11 12:07:14 -07:00
commands Unify drop-by-OID functions 2020-06-09 09:39:46 +02:00
common Move connect.h from fe_utils to src/include/common. 2020-08-10 09:22:54 -07:00
datatype Update copyrights for 2020 2020-01-01 12:21:45 -05:00
executor Fix comment in instrument.h 2020-07-31 14:17:29 +09:00
fe_utils Move connect.h from fe_utils to src/include/common. 2020-08-10 09:22:54 -07:00
foreign Update copyrights for 2020 2020-01-01 12:21:45 -05:00
jit Fix some header identifications 2020-07-14 13:39:45 +09:00
lib Correct comment in simplehash.h. 2020-08-03 12:23:05 +12:00
libpq Fix postmaster's behavior during smart shutdown. 2020-08-14 13:26:57 -04:00
mb Allow Unicode escapes in any server encoding, not only UTF-8. 2020-03-06 14:17:43 -05:00
nodes Use int64 instead of long in incremental sort code 2020-08-02 14:24:46 +12:00
optimizer Remove hashagg_avoid_disk_plan GUC. 2020-07-27 17:53:19 -07:00
parser Revert 0f5ca02f53 2020-04-08 11:37:27 +03:00
partitioning Fix some header identifications 2020-07-14 13:39:45 +09:00
port Avoid need for valgrind suppressions for pg_atomic_init_u64 on some platforms. 2020-06-08 19:52:19 -07:00
portability Update copyrights for 2020 2020-01-01 12:21:45 -05:00
postmaster Trigger autovacuum based on number of INSERTs 2020-03-28 19:20:12 +13:00
regex Assume that we have <wchar.h>. 2020-02-21 14:30:47 -05:00
replication Add some const decorations 2020-08-08 07:31:52 +02:00
rewrite Update copyrights for 2020 2020-01-01 12:21:45 -05:00
snowball Update snowball 2020-06-08 08:07:15 +02:00
statistics Initial pgindent and pgperltidy run for v13. 2020-05-14 13:06:50 -04:00
storage snapshot scalability: Move subxact info to ProcGlobal, remove PGXACT. 2020-08-14 15:33:35 -07:00
tcop code: replace 'master' with 'primary' where appropriate. 2020-07-08 12:57:23 -07:00
tsearch Replace TS_execute's TS_EXEC_CALC_NOT flag with TS_EXEC_SKIP_NOT. 2020-07-24 15:43:56 -04:00
utils snapshot scalability: Don't compute global horizons while building snapshots. 2020-08-12 16:03:49 -07:00
.gitignore Refactor dlopen() support 2018-09-06 11:33:04 +02:00
Makefile Get rid of jsonpath_gram.h and jsonpath_scanner.h 2019-03-20 11:13:34 +03:00
c.h Replace remaining StrNCpy() by strlcpy() 2020-08-10 23:20:37 +02:00
fmgr.h Fix -Wcast-function-type warnings 2020-07-14 19:55:25 +02:00
funcapi.h Avoid holding a directory FD open across assorted SRF calls. 2020-03-16 21:05:52 -04:00
getaddrinfo.h Update copyrights for 2020 2020-01-01 12:21:45 -05:00
getopt_long.h Update copyrights for 2020 2020-01-01 12:21:45 -05:00
miscadmin.h Add hash_mem_multiplier GUC. 2020-07-29 14:14:58 -07:00
pg_config.h.in Rename configure.in to configure.ac 2020-07-24 10:42:08 +02:00
pg_config_ext.h.in Autoconfiscate selection of 64-bit int type for 64-bit large object API. 2012-10-07 21:52:43 -04:00
pg_config_manual.h Add nbtree Valgrind buffer lock checks. 2020-07-21 15:50:58 -07:00
pg_getopt.h Update copyrights for 2020 2020-01-01 12:21:45 -05:00
pg_trace.h Update copyrights for 2020 2020-01-01 12:21:45 -05:00
pgstat.h Improve server code to read files as part of a base backup. 2020-06-17 11:39:17 -04:00
pgtar.h Assorted cleanup of tar-related code. 2020-06-15 15:28:49 -04:00
pgtime.h Update copyrights for 2020 2020-01-01 12:21:45 -05:00
port.h Initial pgindent and pgperltidy run for v13. 2020-05-14 13:06:50 -04:00
postgres.h Update copyrights for 2020 2020-01-01 12:21:45 -05:00
postgres_ext.h Phase 2 of pgindent updates. 2017-06-21 15:19:25 -04:00
postgres_fe.h Update copyrights for 2020 2020-01-01 12:21:45 -05:00
rusagestub.h Update copyrights for 2020 2020-01-01 12:21:45 -05:00
windowapi.h Update copyrights for 2020 2020-01-01 12:21:45 -05:00