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 <[email protected]> Reviewed-by: Heikki Linnakangas <[email protected]> Reviewed-by: Peter Eisentraut <[email protected]> Reviewed-by: Andres Freund <[email protected]> Reviewed-by: Zsolt Parragi <[email protected]> Tested-by: solai v <[email protected]> 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(-)
