Split use of SerialSLRULock, creating SerialControlLock
authorAlvaro Herrera
Tue, 30 Jan 2024 17:11:17 +0000 (18:11 +0100)
committerAlvaro Herrera
Tue, 30 Jan 2024 17:11:17 +0000 (18:11 +0100)
commit7b745d85b80d4492c4df8d9769592c7aad1f63d2
tree4e659b0cdbe3b653e4b00570e1e433c24b33ca60
parent776621a5e4796fa214b6b29a7ca134f6c138572a
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 
Discussion: https://postgr.es/m/CAFiTN-vzDvNz=ExGXz6gdyjtzGixKSqs0mKHMmaQ8sOSEFZ33A@mail.gmail.com
src/backend/storage/lmgr/lwlocknames.txt
src/backend/storage/lmgr/predicate.c
src/backend/utils/activity/wait_event_names.txt