Split use of SerialSLRULock, creating SerialControlLock
predicate.c has been using SerialSLRULock (the control lock for its SLRU
structure) to coordinate access to SerialControlData, another of its
numerous shared memory structures; this is unnecessary and confuses
further SLRU scalability work. Create a separate LWLock to cover
SerialControlData.
Extracted from a larger patch from the same author, and some additional
changes by Álvaro.
Author: Dilip Kumar <dilip.kumar@enterprisedb.com>
Discussion: https://postgr.es/m/CAFiTN-vzDvNz=ExGXz6gdyjtzGixKSqs0mKHMmaQ8sOSEFZ33A@mail.gmail.com
Branch
------
master
Details
-------
https://git.postgresql.org/pg/commitdiff/7b745d85b80d4492c4df8d9769592c7aad1f63d2
Modified Files
--------------
src/backend/storage/lmgr/lwlocknames.txt | 1 +
src/backend/storage/lmgr/predicate.c | 41 ++++++++++++++++++-------
src/backend/utils/activity/wait_event_names.txt | 1 +
3 files changed, 32 insertions(+), 11 deletions(-)