pgsql: Convert SISeg->maxMsgNum to an atomic variable.

From: Nathan Bossart <nathan(at)postgresql(dot)org>
To: pgsql-committers(at)lists(dot)postgresql(dot)org
Subject: pgsql: Convert SISeg->maxMsgNum to an atomic variable.
Date: 2026-09-24 19:47:50
Message-ID: E1x9pQ6-000000017HA-3RKR@gemulon.postgresql.org
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-committers

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(dot)sokolov(at)postgrespro(dot)ru>
Reviewed-by: Heikki Linnakangas <hlinnaka(at)iki(dot)fi>
Reviewed-by: Peter Eisentraut <peter(at)eisentraut(dot)org>
Reviewed-by: Andres Freund <andres(at)anarazel(dot)de>
Reviewed-by: Zsolt Parragi <zsolt(dot)parragi(at)percona(dot)com>
Tested-by: solai v <solai(dot)cdac(at)gmail(dot)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(-)

Browse pgsql-committers by date

  From Date Subject
Next Message Tom Lane 2026-09-24 21:58:12 pgsql: Silence another "may be used uninitialized" compiler warning.
Previous Message Masahiko Sawada 2026-09-24 18:06:40 pgsql: Add a range check on the sequence index from the publisher.