Re: BUG #15844: MIPS: remove .set mips2 in s_lock.h to fix r6 build
YunQiang Su <wzssyqa@gmail.com>
From: YunQiang Su <wzssyqa@gmail.com>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: Andres Freund <andres@anarazel.de>, pgsql-bugs@lists.postgresql.org
Date: 2019-06-22T04:21:09Z
Lists: pgsql-bugs
Tom Lane <tgl@sss.pgh.pa.us> 于2019年6月18日周二 上午12:50写道: > > 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. > Since NetBSD set the default ISA as MIPS I, and then we use ".set mips2", in fact a bug. I think that we should use some non-asm code for MIPS I ( our own spinlock implementations?) Do you have any NetBSD image that I can have a test of new patch? > (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 -- YunQiang Su
Commits
-
Fix spinlock assembly code for MIPS so it works on MIPS r6.
- 9895e3a36a72 9.6.15 landed
- 40dde829070d 11.5 landed
- 36d2c3ad33f8 9.5.19 landed
- 2854e2ab6806 9.4.24 landed
- 1323bfce5510 12.0 landed
- 05399b14889e 10.10 landed