pgsql: Remove swpb-based spinlock implementation for ARMv5 and earlier.

From: Robert Haas <rhaas(at)postgresql(dot)org>
To: pgsql-committers(at)postgresql(dot)org
Subject: pgsql: Remove swpb-based spinlock implementation for ARMv5 and earlier.
Date: 2014-07-06 18:57:09
Message-ID: E1X3rcb-0004uu-Dr@gemulon.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers

Remove swpb-based spinlock implementation for ARMv5 and earlier.

Per recent analysis by Andres Freund, this implementation is in fact
unsafe, because ARMv5 has weak memory ordering, which means tha the
CPU could move loads or stores across the volatile store performed by
the default S_UNLOCK. We could try to fix this, but have no ARMv5
hardware to test on, so removing support seems better. We can still
support ARMv5 systems on GCC versions new enough to have built-in
atomics support for this platform, and can also re-add support for
the old way if someone has hardware that can be used to test a fix.
However, since the requirement to use a relatively-new GCC hasn't
been an issue for ARMv6 or ARMv7, which lack the swpb instruction
altogether, perhaps it won't be an issue for ARMv5 either.

Branch
------
master

Details
-------
http://git.postgresql.org/pg/commitdiff/4893ccd02459fdb444f4f4b34c441eb899592879

Modified Files
--------------
src/include/storage/s_lock.h | 54 +++++-------------------------------------
1 file changed, 6 insertions(+), 48 deletions(-)

Browse pgsql-committers by date

  From Date Subject
Next Message Fujii Masao 2014-07-07 10:56:43 pgsql: Fix typos in comments.
Previous Message Andres Freund 2014-07-06 16:50:52 Re: [COMMITTERS] pgsql: Fix decoding of MULTI_INSERTs when rows other than the last are