Re: BUG #15844: MIPS: remove .set mips2 in s_lock.h to fix r6 build

Tom Lane <tgl@sss.pgh.pa.us>

From: Tom Lane <tgl@sss.pgh.pa.us>
To: Andres Freund <andres@anarazel.de>
Cc: YunQiang Su <wzssyqa@gmail.com>, pgsql-bugs@lists.postgresql.org
Date: 2019-06-17T16:50:22Z
Lists: pgsql-bugs
Andres Freund <andres@anarazel.de> writes:
> I think we're pretty much at the point where we should just rip out all
> of our own spinlock implementations for non-common platforms, and solely
> rely on compiler intrinsics... The open coded ASM really doesn't age
> very well, and there's very little chance of us actually testing them
> properly.

It's completely not true that this code isn't tested; we have two
different MIPS buildfarm machines that surely exercise spinlocks plenty.

(There's a separate argument to be had about whether we should drop
source-code support for platforms that aren't represented in the
buildfarm.  I'm not inclined to, but you could tenably hold that
position.)

As for compiler intrinsics, I dunno.  I don't have very much faith in
the quality of those for non-mainstream platforms, either --- see
https://www.postgresql.org/message-id/flat/25414.1483076673%40sss.pgh.pa.us
for a not-too-old example.  And a lot of platforms like this are running
pretty old compilers, so even if the problems have been fixed it'll be a
long time before we can depend on that.

			regards, tom lane



Commits

  1. Fix spinlock assembly code for MIPS so it works on MIPS r6.