Re: Deadlock in XLogInsert at AIX
Konstantin Knizhnik <k.knizhnik@postgrespro.ru>
From: Konstantin Knizhnik <k.knizhnik@postgrespro.ru>
To: "REIX, Tony" <tony.reix@atos.net>,
PostgreSQL Hackers <pgsql-hackers@postgresql.org>
Cc: Heikki Linnakangas <hlinnaka@iki.fi>, Bernd Helmle <mailings@oopsware.de>
Date: 2017-02-01T15:59:12Z
Lists: pgsql-hackers
Hi Tony, On 01.02.2017 18:42, REIX, Tony wrote: > > Hi Konstantin > > *XLC.* > > I'm on AIX 7.1 for now. > > I'm using this version of *XL**C v13*: > > # xlc -qversion > IBM XL C/C++ for AIX, V13.1.3 (5725-C72, 5765-J07) > Version: 13.01.0003.0003 > > With this version, I have (at least, since I tested with "check" and > not "check-world" at that time) 2 failing tests: create_aggregate , > aggregates . > > > With the following *XLC v12* version, I have NO test failure: > > # /usr/vac/bin/xlc -qversion > IBM XL C/C++ for AIX, V12.1 (5765-J02, 5725-C72) > Version: 12.01.0000.0016 > > > So maybe you are not using XLC v13.1.3.3, rather another sub-version. > Unless you are using more options for the configure ? > > > *Configure*. > > What are the options that you give to the configure ? > > export CC="/opt/IBM/xlc/13.1.3/bin/xlc" export CFLAGS="-qarch=pwr8 -qtune=pwr8 -O2 -qalign=natural -q64 " export LDFLAGS="-Wl,-bbigtoc,-b64" export AR="/usr/bin/ar -X64" export LD="/usr/bin/ld -b64 " export NM="/usr/bin/nm -X64" ./configure --prefix="/opt/postgresql/xlc-debug/9.6" > *Hard load & 64 cores ?* OK. That clearly explains why I do not see > this issue. > > > *pgbench ?* I wanted to run it. However, I'm still looking where to > get it plus a guide for using it for testing. > pgbench is part of Postgres distributive (src/bin/pgbench) > I would add such tests when building my PostgreSQL RPMs on AIX. So any > help is welcome ! > > > *Performance*. > > - Also, I'd like to compare PostgreSQL performance on AIX vs > Linux/PPC64. Any idea how I should proceed ? Any PostgreSQL > performance benchmark that I could find and use ? pgbench ? > pgbench is most widely used tool simulating OLTP workload. Certainly it is quite primitive and its results are rather artificial. TPC-C seems to be better choice. But the best case is to implement your own benchmark simulating actual workload of your real application. > - I'm interested in any information for improving the performance & > quality of my PostgreSQM RPMs on AIX./(As I already said, BullFreeware > RPMs for AIX are free and can be used by anyone, like Perzl RPMs > are//.////My compa//ny (ATOS/Bull) sells IBM Power machines under the > Escala brand s//ince ages (25 years this year)//)/. > > > *How to help ?* > > How could I help for improving the quality and performance of > PostgreSQL on AIX ? > We still have one open issue at AIX: see https://www.mail-archive.com/pgsql-hackers@postgresql.org/msg303094.html It will be great if you can somehow help to fix this problem. -- Konstantin Knizhnik Postgres Professional: http://www.postgrespro.com The Russian Postgres Company
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