[COMMITTERS] pgsql: Use group updates when setting transaction status in clog.

Поиск
Список
Период
Сортировка
От Robert Haas
Тема [COMMITTERS] pgsql: Use group updates when setting transaction status in clog.
Дата
Msg-id E1cm6s7-0004Zc-H8@gemulon.postgresql.org
обсуждение исходный текст
Список pgsql-committers
Use group updates when setting transaction status in clog.

Commit 0e141c0fbb211bdd23783afa731e3eef95c9ad7a introduced a mechanism
to reduce contention on ProcArrayLock by having a single process clear
XIDs in the procArray on behalf of multiple processes, reducing the
need to hand the lock around.  Use a similar mechanism to reduce
contention on CLogControlLock.  Testing shows that this very
significantly reduces the amount of time waiting for CLogControlLock
on high-concurrency pgbench tests run on a large multi-socket
machines; whether that translates into a TPS improvement depends on
how much of that contention is simply shifted to some other lock,
particularly WALWriteLock.

Amit Kapila, with some cosmetic changes by me.  Extensively reviewed,
tested, and benchmarked over a period of about 15 months by Simon
Riggs, Robert Haas, Andres Freund, Jesper Pedersen, and especially by
Tomas Vondra and Dilip Kumar.

Discussion: http://postgr.es/m/CAA4eK1L_snxM_JcrzEstNq9P66++F4kKFce=1r5+D1vzPofdtg@mail.gmail.com
Discussion: http://postgr.es/m/CAA4eK1LyR2A+m=RBSZ6rcPEwJ=rVi1ADPSndXHZdjn56yqO6Vg@mail.gmail.com
Discussion: http://postgr.es/m/91d57161-d3ea-0cc2-6066-80713e4f90d7@2ndquadrant.com

Branch
------
master

Details
-------
http://git.postgresql.org/pg/commitdiff/ccce90b398673d55b0387b3de66639b1b30d451b

Modified Files
--------------
src/backend/access/transam/clog.c     | 239 ++++++++++++++++++++++++++++++++--
src/backend/access/transam/twophase.c |   2 +-
src/backend/storage/lmgr/proc.c       |   9 ++
src/include/access/twophase.h         |  13 ++
src/include/storage/proc.h            |  14 ++
5 files changed, 268 insertions(+), 9 deletions(-)


В списке pgsql-committers по дате отправления:

Предыдущее
От: Tom Lane
Дата:
Сообщение: [COMMITTERS] pgsql: Fix timestamptz regression test to still work with latest IANAz
Следующее
От: Robert Haas
Дата:
Сообщение: [COMMITTERS] pgsql: Throw an error if a DATA() line contains wrong # of attributes.