Re: [HACKERS] Deadlock in XLogInsert at AIX
Michael Paquier <michael.paquier@gmail.com>
From: Michael Paquier <michael.paquier@gmail.com>
To: Noah Misch <noah@leadboat.com>
Cc: Andres Freund <andres@anarazel.de>, Heikki Linnakangas <hlinnaka@iki.fi>, Konstantin Knizhnik <k.knizhnik@postgrespro.ru>, PostgreSQL Hackers <pgsql-hackers@postgresql.org>, Bernd Helmle <mailings@oopsware.de>
Date: 2018-01-20T23:16:30Z
Lists: pgsql-hackers
On Wed, Jan 17, 2018 at 12:36:31AM -0800, Noah Misch wrote: > For me, verifiability is the crucial benefit of inline asm. Anyone with an > architecture manual can thoroughly review an inline asm implementation. Given > intrinsics and __xlc_ver__ conditionals, the same level of review requires > access to every xlc version. Okay. > The most recent patch version is Returned with Feedback. As a matter of > procedure, I discourage creating commitfest entries as a tool to solicit new > patch versions. If I were the author of a RwF patch, I would dislike finding > a commitfest entry that I did not create with myself listed as author. Per my understanding, this is a bug, and we don't want to lose track of them. > If you do choose to proceed, the entry should be Waiting on Author. Right. > Note that fixing this bug is just the start of accepting XLC 13.1 as a > compiler of PostgreSQL. If we get a buildfarm member with a few dozen clean > runs (blocked by, at a minimum, fixing this and the inlining bug), we'll have > something. Until then, support for XLC 13.1 is an anti-feature. Per my understanding of this thread, this is a bug. My point is that the documentation states that AIX is supported from 4.3.3 to 6.1, however there are no restrictions related to the compiler, hence I would have thought that the docs imply XLC 13.1 as a supported compiler. And IBM states that XLC 13.1 is supported from AIX 6.1: https://www-01.ibm.com/support/docview.wss?uid=swg21326972 True that the docs tell as well to look at the buildfarm animals, which don't use XLC 13.1 if you don't look at them closely. Perhaps an explicit mention of the compiler compatibilities in the docs would help making the support range clear to anybody then. I would expect more people to look at the docs than the buildfarm internal contents. -- Michael
Commits
-
For all ppc compilers, implement compare_exchange and fetch_add with asm.
- 30ee5d17c20d 13.0 landed
-
For PowerPC instruction "addi", use constraint "b".
- 930787c7fab9 9.4.25 landed
- af4477b00cf9 11.6 landed
- 62e881946c4d 9.5.20 landed
- 09d74aef33de 9.6.16 landed
- 083929372e04 10.11 landed
- ef13f914e6c2 12.1 landed
- 89b4d7744c80 13.0 landed
-
For all ppc compilers, implement pg_atomic_fetch_add_ with inline asm.
- e7ff59686eac 13.0 landed
-
Replace xlc __fetch_and_add() with inline asm.
- a1df9a015dac 9.6.16 landed
- 8972ac696665 10.11 landed
- 75941f257aac 9.5.20 landed
- 40ad4202513c 11.6 landed
- 1c6b62a7d0e5 12.0 landed
- dd50f1a43290 13.0 landed
-
Test pg_atomic_fetch_add_ with variable addend and 16-bit edge cases.
- e6a90ded5a6c 10.11 landed
- 8d32f82cbbbb 9.6.16 landed
- 4737d3a75b72 9.5.20 landed
- 5b5b0f721d9c 12.0 landed
- 585fc561f824 11.6 landed
- f380c5190134 13.0 landed