Convert SISeg->maxMsgNum to an atomic variable.
Currently, this variable is a uint32 protected by a spinlock. The
spinlock exists only to provide memory barriers, so by converting
the variable to an atomic and using the barrier-providing accessors
in the spinlock's place, we can remove the spinlock.
Author: Yura Sokolov <y.sokolov@postgrespro.ru>
Reviewed-by: Heikki Linnakangas <hlinnaka@iki.fi>
Reviewed-by: Peter Eisentraut <peter@eisentraut.org>
Reviewed-by: Andres Freund <andres@anarazel.de>
Reviewed-by: Zsolt Parragi <zsolt.parragi@percona.com>
Tested-by: solai v <solai.cdac@gmail.com>
Discussion: https://postgr.es/m/30aa0030-f694-44ef-a19d-6ef7ddb69374%40postgrespro.ru
Discussion: https://postgr.es/m/alAJeRRzehDjLaF1%40nathan
Branch
------
master
Details
-------
https://git.postgresql.org/pg/commitdiff/df3978c2340d79c6319f8239a69abbd27b1069df
Modified Files
--------------
src/backend/storage/ipc/sinvaladt.c | 54 ++++++++++++++-----------------------
1 file changed, 20 insertions(+), 34 deletions(-)