Re: Remove last traces of HPPA support

Noah Misch <noah@leadboat.com>

From: Noah Misch <noah@leadboat.com>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: Andres Freund <andres@anarazel.de>, Thomas Munro <thomas.munro@gmail.com>, pgsql-hackers@lists.postgresql.org
Date: 2024-05-29T16:58:39Z
Lists: pgsql-hackers
On Sat, Oct 21, 2023 at 02:18:19AM -0400, Tom Lane wrote:
> Andres Freund <andres@anarazel.de> writes:
> > It'd be one thing to continue supporting an almost-guaranteed-to-be-unused
> > platform, if we expected it to become more popular or complete enough to be
> > usable like e.g. risc-v a few years ago. But I doubt we'll find anybody out
> > there believing that there's a potential future upward trend for HPPA.
> 
> Indeed.  I would have bet that Postgres on HPPA was extinct in the wild,
> until I noticed this message a few days ago:
> 
> https://www.postgresql.org/message-id/BYAPR02MB42624ED41C15BFA82DAE2C359BD5A%40BYAPR02MB4262.namprd02.prod.outlook.com
> 
> But we already cut that user off at the knees by removing HP-UX support.
> 
> The remaining argument for worrying about this architecture being in
> use in the field is the idea that somebody is using it on top of
> NetBSD or OpenBSD.  But having used both of those systems (or tried
> to), I feel absolutely confident in asserting that nobody is using
> it in production today, let alone hoping to continue using it.
> 
> > IMO a single person looking at HPPA code for a few minutes is a cost that more
> > than outweighs the potential benefits of continuing "supporting" this dead
> > arch. Even code that doesn't need to change has costs, particularly if it's
> > intermingled with actually important code (which spinlocks certainly are).
> 
> Yup, that.  It's not zero cost to carry this stuff.

+1 for dropping it.



Commits

  1. Require memory barrier support.

  2. Require compiler barrier support.

  3. Remove --disable-atomics, require 32 bit atomics.

  4. Remove --disable-spinlocks.

  5. Remove support for HPPA (a/k/a PA-RISC) architecture.

  6. Add a basic atomic ops API abstracting away platform/architecture details.