Re: Proposal: Removing 32 bit support starting from PG17++ - Mailing list pgsql-hackers

From Andres Freund
Subject Re: Proposal: Removing 32 bit support starting from PG17++
Date
Msg-id 20230525010024.2iyrrsq23sfo3vkp@awork3.anarazel.de
Whole thread Raw
In response to Re: Proposal: Removing 32 bit support starting from PG17++  (Tom Lane <tgl@sss.pgh.pa.us>)
Responses Re: Proposal: Removing 32 bit support starting from PG17++
List pgsql-hackers
Hi,

On 2023-05-24 19:51:22 -0400, Tom Lane wrote:
> Andres Freund <andres@anarazel.de> writes:
> > On 2023-05-24 17:44:36 -0400, Tom Lane wrote:
> >> Hmm, can we really expect atomic 8-byte reads on "relevant" 32-bit
> >> platforms?  I'd be on board with this if so, but it sounds a bit
> >> optimistic.
> 
> > ...
> 
> > So it looks like the only certain problem is PA-RISC - which I personally
> > wouldn't include in "relevant" :), with some evaluation needed for 32bit mips
> > and old arms.
> 
> You'll no doubt be glad to hear that I'll be retiring chickadee
> in the very near future.

Heh, I have to admit, I am.


> So dropping PA-RISC altogether should probably happen for v17, maybe even
> v16.

Definitely for 17 - not sure if we have much to gain by doing it in 16. The
likelihood that somebody will find a PA-RISC specific bug, after we dropped
support for 15, is pretty low, I think.


> Seems like we should poke into ARM more closely, though.

Looks like the necessary support was added in armv6k and armv7a:

https://developer.arm.com/documentation/dui0489/i/arm-and-thumb-instructions/strex
  ARM STREXB, STREXD, and STREXH are available in ARMv6K and above.
  All these 32-bit Thumb instructions are available in ARMv6T2 and above, except that STREXD is not available in the
ARMv7-Marchitecture.
 

ARMv7-M is for microcontrollers without an MMU, so it's not going to be used
for postgres.

The arm buildfarm machines (using the architecture names from there) we have
are:

armv6l: chipmunk
ARMv7: mereswine, gull, grison
arm64: dikkop, sifaka, indri

turako says it's armv7l, but it seems actually to target aarch64.

At least for type of machine available on the buildfarm, it looks like we
actually should be good. They all appear to already be supporting 64bit
atomics, without needing further compiler flags.

Greetings,

Andres Freund



pgsql-hackers by date:

Previous
From: Tom Lane
Date:
Subject: Re: Proposal: Removing 32 bit support starting from PG17++
Next
From: Tom Lane
Date:
Subject: Re: Proposal: Removing 32 bit support starting from PG17++