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-02T15:40:18Z
Lists: pgsql-hackers
On 02.02.2017 18:20, REIX, Tony wrote:
>
> Hi Konstantin
>
> I have an issue with pgbench. Any idea ?
>
>

Pgbench -s options specifies scale.
Scale 1000 corresponds to 1000 million rows and requires about 16Gb at disk.

> # mkdir /tmp/PGS
>  # chown pgstbf.staff /tmp/PGS
>
>  # su pgstbf
>
>  $ /opt/freeware/bin/*initdb* -D /tmp/PGS
>  The files belonging to this database system will be owned by user 
> "pgstbf".
>  This user must also own the server prcess.
>
>  The database cluster will be initialized with locale "C".
>  The default database encoding has accordingly been set to "SQL_ASCII".
>  The default text search configuration will be set to "english".
>
>  Data page checksums are disabled.
>
>  fixing permissions on existing directory /tmp/PGS ... ok
>  creating subdirectories ... ok
>  selecting default max_connections ... 100
>  selecting default shared_buffers ... 128MB
>  selecting dynamic shared memory implementation ... posix
>  creating configuration files ... ok
>  running bootstrap script ... ok
>  performing post-bootstrap initialization ... ok
>  syncing data to disk ... ok
>
>  WARNING: enabling "trust" authentication for local connections
>  You can change this by editing pg_hba.conf or using the option -A, or 
> --auth-local and --auth-host, the next time you run initdb.
>
>  Success. You can now start the database server using:
>
>
>  $ /opt/freeware/bin/*pg_ctl* -D /tmp/PGS -l /tmp/PGS/logfile *start*
>  server starting
>
>  $ /opt/freeware/bin/pg_ctl -D /tmp/PGS -l /tmp/PGS/logfile status
>   pg_ctl: server is running (PID: 11599920)
>  /opt/freeware/bin/postgres_64 "-D" "/tmp/PGS"
>
>
>  $ /usr/bin/*createdb* pgstbf
>  $
>
>
>  $ *pgbench* -i -s 1000
>  creating tables...
>  100000 of 100000000 tuples (0%) done (elapsed 0.29 s, remaining 288.09 s)
>  ...
>  100000000 of 100000000 tuples (100%) done (elapsed 42.60 s, remaining 
> 0.00 s)
> *ERROR:  could not extend file "base/16384/24614": wrote only 7680 of 
> 8192 bytes at block 131071**
> ** HINT:  Check free disk space.*
>  CONTEXT:  COPY pgbench_accounts, line 7995584
>  PQendcopy failed
>
>
> After cleaning all /tmp/PGS and symlinking it to /home, where I have 
> 6GB free, I've retried and I got nearly the same:
>
>
>  100000000 of 100000000 tuples (100%) done (elapsed 204.65 s, 
> remaining 0.00 s)
>  ERROR:  could not extend file "base/16384/16397.6": *No space left on 
> device*
>  HINT:  Check free disk space.
>  CONTEXT:  COPY pgbench_accounts, line 51235802
> PQendcopy failed
>
>
> *Do I need more than 6GB ???*
>
>
> *Thanks*
>
> *Tony*
>
>
> $ df -k .
> Filesystem    1024-blocks      Free %Used    Iused %Iused Mounted on
> /dev/hd1         45088768   6719484   86%   946016    39% /home
>
> bash-4.3$ pwd
> /tmp/PGS
>
> bash-4.3$ ll /tmp/PGS
> lrwxrwxrwx    1 root     system           10 Feb  2 08:43 /tmp/PGS -> 
> /home/PGS/
>
>
> $ df -k
> Filesystem    1024-blocks      Free %Used    Iused %Iused Mounted on
> /dev/hd4           524288    277284   48%    10733    14% /
> /dev/hd2          6684672    148896   98%    49303    48% /usr
> /dev/hd9var       2097152    314696   85%    24934    18% /var
> /dev/hd3          3145728   2527532   20%      418     1% /tmp
> */dev/hd1         45088768   6719484   86%   946016    39% /home*
> /dev/hd11admin      131072    130692    1%        7     1% /admin
> /proc                   -         -    -         -     - /proc
> /dev/hd10opt     65273856    829500   99%   938339    41% /opt
> /dev/livedump      262144    261776    1%        4     1% 
> /var/adm/ras/livedump
> /aha                    -         -    -        18     1% /aha
>
> $ cat logfile
> LOG:  database system was shut down at 2017-02-02 09:08:31 CST
> LOG:  MultiXact member wraparound protections are now enabled
> LOG:  autovacuum launcher started
> LOG:  database system is ready to accept connections
> ERROR:  could not extend file "base/16384/16397.6": No space left on 
> device
> HINT:  Check free disk space.
> CONTEXT:  COPY pgbench_accounts, line 51235802
> STATEMENT:  copy pgbench_accounts from stdin
>
>
>
> $ *ulimit -a*
> core file size          (blocks, -c) 1048575
> data seg size           (kbytes, -d) 131072
> *file size               (blocks, -f) unlimited*
> max memory size         (kbytes, -m) 32768
> open files                      (-n) 2000
> pipe size            (512 bytes, -p) 64
> stack size              (kbytes, -s) 32768
> cpu time               (seconds, -t) unlimited
> max user processes              (-u) unlimited
> virtual memory          (kbytes, -v) unlimited
>
>
> bash-4.3$ ll /tmp/PGS
> lrwxrwxrwx    1 root     system           10 Feb  2 08:43 /tmp/PGS -> 
> /home/PGS/
> bash-4.3$ ls -l
> total 120
> -rw-------    1 pgstbf   staff             4 Feb  2 09:08 PG_VERSION
> drwx------    6 pgstbf   staff           256 Feb  2 09:09 base
> drwx------    2 pgstbf   staff          4096 Feb  2 09:09 global
> -rw-------    1 pgstbf   staff           410 Feb  2 09:13 logfile
> drwx------    2 pgstbf   staff           256 Feb  2 09:08 pg_clog
> drwx------    2 pgstbf   staff           256 Feb  2 09:08 pg_commit_ts
> drwx------    2 pgstbf   staff           256 Feb  2 09:08 pg_dynshmem
> -rw-------    1 pgstbf   staff          4462 Feb  2 09:08 pg_hba.conf
> -rw-------    1 pgstbf   staff          1636 Feb  2 09:08 pg_ident.conf
> drwx------    4 pgstbf   staff           256 Feb  2 09:08 pg_logical
> drwx------    4 pgstbf   staff           256 Feb  2 09:08 pg_multixact
> drwx------    2 pgstbf   staff           256 Feb  2 09:08 pg_notify
> drwx------    2 pgstbf   staff           256 Feb  2 09:08 pg_replslot
> drwx------    2 pgstbf   staff           256 Feb  2 09:08 pg_serial
> drwx------    2 pgstbf   staff           256 Feb  2 09:08 pg_snapshots
> drwx------    2 pgstbf   staff           256 Feb  2 09:08 pg_stat
> drwx------    2 pgstbf   staff           256 Feb  2 09:17 pg_stat_tmp
> drwx------    2 pgstbf   staff           256 Feb  2 09:08 pg_subtrans
> drwx------    2 pgstbf   staff           256 Feb  2 09:08 pg_tblspc
> drwx------    2 pgstbf   staff           256 Feb  2 09:08 pg_twophase
> drwx------    3 pgstbf   staff           256 Feb  2 09:08 pg_xlog
> -rw-------    1 pgstbf   staff            88 Feb  2 09:08 
> postgresql.auto.conf
> -rw-------    1 pgstbf   staff         22236 Feb  2 09:08 postgresql.conf
> -rw-------    1 pgstbf   staff            46 Feb  2 09:08 postmaster.opts
> -rw-------    1 pgstbf   staff            69 Feb  2 09:08 postmaster.pid
> bash-4.3$ ls -l base
> total 112
> drwx------    2 pgstbf   staff         16384 Feb  2 09:08 1
> drwx------    2 pgstbf   staff         12288 Feb  2 09:08 12407
> drwx------    2 pgstbf   staff         12288 Feb  2 09:09 12408
> drwx------    2 pgstbf   staff         16384 Feb  2 09:14 16384
> bash-4.3$ ls -l base/16384/
> total 15200
> -rw-------    1 pgstbf   staff          8192 Feb  2 09:09 112
> -rw-------    1 pgstbf   staff          8192 Feb  2 09:09 113
> -rw-------    1 pgstbf   staff         57344 Feb  2 09:09 12243
> -rw-------    1 pgstbf   staff         24576 Feb  2 09:09 12243_fsm
> -rw-------    1 pgstbf   staff          8192 Feb  2 09:09 12243_vm
> -rw-------    1 pgstbf   staff             0 Feb  2 09:09 12245
> -rw-------    1 pgstbf   staff          8192 Feb  2 09:09 12247
> -rw-------    1 pgstbf   staff          8192 Feb  2 09:09 12248
> -rw-------    1 pgstbf   staff         24576 Feb  2 09:09 12248_fsm
> -rw-------    1 pgstbf   staff          8192 Feb  2 09:09 12248_vm
> -rw-------    1 pgstbf   staff             0 Feb  2 09:09 12250
> -rw-------    1 pgstbf   staff          8192 Feb  2 09:09 12252
> -rw-------    1 pgstbf   staff          8192 Feb  2 09:09 12253
> -rw-------    1 pgstbf   staff         24576 Feb  2 09:09 12253_fsm
> -rw-------    1 pgstbf   staff          8192 Feb  2 09:09 12253_vm
> -rw-------    1 pgstbf   staff             0 Feb  2 09:09 12255
> -rw-------    1 pgstbf   staff          8192 Feb  2 09:09 12257
> -rw-------    1 pgstbf   staff          8192 Feb  2 09:09 12258
> -rw-------    1 pgstbf   staff         24576 Feb  2 09:09 12258_fsm
> -rw-------    1 pgstbf   staff          8192 Feb  2 09:09 12258_vm
> -rw-------    1 pgstbf   staff             0 Feb  2 09:09 12260
> -rw-------    1 pgstbf   staff          8192 Feb  2 09:09 12262
> -rw-------    1 pgstbf   staff          8192 Feb  2 09:09 12263
> -rw-------    1 pgstbf   staff         24576 Feb  2 09:09 12263_fsm
> -rw-------    1 pgstbf   staff          8192 Feb  2 09:09 12263_vm
> -rw-------    1 pgstbf   staff             0 Feb  2 09:09 12265
> -rw-------    1 pgstbf   staff          8192 Feb  2 09:09 12267
> -rw-------    1 pgstbf   staff          8192 Feb  2 09:09 12268
> -rw-------    1 pgstbf   staff         24576 Feb  2 09:09 12268_fsm
> -rw-------    1 pgstbf   staff          8192 Feb  2 09:09 12268_vm
> -rw-------    1 pgstbf   staff             0 Feb  2 09:09 12270
> -rw-------    1 pgstbf   staff          8192 Feb  2 09:09 12272
> -rw-------    1 pgstbf   staff             0 Feb  2 09:09 12273
> -rw-------    1 pgstbf   staff             0 Feb  2 09:09 12275
> -rw-------    1 pgstbf   staff          8192 Feb  2 09:09 12277
> -rw-------    1 pgstbf   staff         73728 Feb  2 09:14 1247
> -rw-------    1 pgstbf   staff         24576 Feb  2 09:14 1247_fsm
> -rw-------    1 pgstbf   staff          8192 Feb  2 09:14 1247_vm
> -rw-------    1 pgstbf   staff        368640 Feb  2 09:14 1249
> -rw-------    1 pgstbf   staff         24576 Feb  2 09:14 1249_fsm
> -rw-------    1 pgstbf   staff          8192 Feb  2 09:14 1249_vm
> -rw-------    1 pgstbf   staff        589824 Feb  2 09:09 1255
> -rw-------    1 pgstbf   staff         24576 Feb  2 09:09 1255_fsm
> -rw-------    1 pgstbf   staff          8192 Feb  2 09:09 1255_vm
> -rw-------    1 pgstbf   staff         90112 Feb  2 09:14 1259
> -rw-------    1 pgstbf   staff         24576 Feb  2 09:09 1259_fsm
> -rw-------    1 pgstbf   staff          8192 Feb  2 09:14 1259_vm
> -rw-------    1 pgstbf   staff             0 Feb  2 09:09 1417
> -rw-------    1 pgstbf   staff             0 Feb  2 09:09 1417_vm
> -rw-------    1 pgstbf   staff             0 Feb  2 09:09 1418
> -rw-------    1 pgstbf   staff             0 Feb  2 09:09 1418_vm
> -rw-------    1 pgstbf   staff             0 Feb  2 09:09 16385
> -rw-------    1 pgstbf   staff        450560 Feb  2 09:14 16388
> -rw-------    1 pgstbf   staff         24576 Feb  2 09:09 16388_fsm
> -rw-------    1 pgstbf   staff             0 Feb  2 09:09 16391
> -rw-------    1 pgstbf   staff         40960 Feb  2 09:14 16394
> -rw-------    1 pgstbf   staff         24576 Feb  2 09:09 16394_fsm
> -rw-------    1 pgstbf   staff          8192 Feb  2 09:09 174
> -rw-------    1 pgstbf   staff          8192 Feb  2 09:09 175
> -rw-------    1 pgstbf   staff          8192 Feb  2 09:09 2187
> -rw-------    1 pgstbf   staff             0 Feb  2 09:09 2328
> -rw-------    1 pgstbf   staff             0 Feb  2 09:09 2328_vm
> -rw-------    1 pgstbf   staff             0 Feb  2 09:09 2336
> -rw-------    1 pgstbf   staff             0 Feb  2 09:09 2336_vm
> -rw-------    1 pgstbf   staff          8192 Feb  2 09:09 2337
> -rw-------    1 pgstbf   staff         16384 Feb  2 09:09 2600
> -rw-------    1 pgstbf   staff         24576 Feb  2 09:09 2600_fsm
> -rw-------    1 pgstbf   staff          8192 Feb  2 09:09 2600_vm
> -rw-------    1 pgstbf   staff          8192 Feb  2 09:09 2601
> -rw-------    1 pgstbf   staff         24576 Feb  2 09:09 2601_fsm
> -rw-------    1 pgstbf   staff          8192 Feb  2 09:09 2601_vm
> -rw-------    1 pgstbf   staff         49152 Feb  2 09:09 2602
> -rw-------    1 pgstbf   staff         24576 Feb  2 09:09 2602_fsm
> -rw-------    1 pgstbf   staff          8192 Feb  2 09:09 2602_vm
> -rw-------    1 pgstbf   staff         40960 Feb  2 09:09 2603
> -rw-------    1 pgstbf   staff         24576 Feb  2 09:09 2603_fsm
> -rw-------    1 pgstbf   staff          8192 Feb  2 09:09 2603_vm
> -rw-------    1 pgstbf   staff             0 Feb  2 09:09 2604
> -rw-------    1 pgstbf   staff             0 Feb  2 09:09 2604_vm
> -rw-------    1 pgstbf   staff         16384 Feb  2 09:09 2605
> -rw-------    1 pgstbf   staff         24576 Feb  2 09:09 2605_fsm
> -rw-------    1 pgstbf   staff          8192 Feb  2 09:09 2605_vm
> -rw-------    1 pgstbf   staff          8192 Feb  2 09:09 2606
> -rw-------    1 pgstbf   staff         24576 Feb  2 09:09 2606_fsm
> -rw-------    1 pgstbf   staff          8192 Feb  2 09:09 2606_vm
> -rw-------    1 pgstbf   staff         24576 Feb  2 09:09 2607
> -rw-------    1 pgstbf   staff         24576 Feb  2 09:09 2607_fsm
> -rw-------    1 pgstbf   staff          8192 Feb  2 09:09 2607_vm
> -rw-------    1 pgstbf   staff        450560 Feb  2 09:14 2608
> -rw-------    1 pgstbf   staff         24576 Feb  2 09:09 2608_fsm
> -rw-------    1 pgstbf   staff          8192 Feb  2 09:14 2608_vm
> -rw-------    1 pgstbf   staff        278528 Feb  2 09:09 2609
> -rw-------    1 pgstbf   staff         24576 Feb  2 09:09 2609_fsm
> -rw-------    1 pgstbf   staff          8192 Feb  2 09:09 2609_vm
> -rw-------    1 pgstbf   staff         24576 Feb  2 09:09 2610
> -rw-------    1 pgstbf   staff         24576 Feb  2 09:09 2610_fsm
> -rw-------    1 pgstbf   staff          8192 Feb  2 09:09 2610_vm
> -rw-------    1 pgstbf   staff             0 Feb  2 09:09 2611
> -rw-------    1 pgstbf   staff             0 Feb  2 09:09 2611_vm
> -rw-------    1 pgstbf   staff          8192 Feb  2 09:09 2612
> -rw-------    1 pgstbf   staff         24576 Feb  2 09:09 2612_fsm
> -rw-------    1 pgstbf   staff          8192 Feb  2 09:09 2612_vm
> -rw-------    1 pgstbf   staff             0 Feb  2 09:09 2613
> -rw-------    1 pgstbf   staff             0 Feb  2 09:09 2613_vm
> -rw-------    1 pgstbf   staff          8192 Feb  2 09:09 2615
> -rw-------    1 pgstbf   staff         24576 Feb  2 09:09 2615_fsm
> -rw-------    1 pgstbf   staff          8192 Feb  2 09:09 2615_vm
> -rw-------    1 pgstbf   staff         24576 Feb  2 09:09 2616
> -rw-------    1 pgstbf   staff         24576 Feb  2 09:09 2616_fsm
> -rw-------    1 pgstbf   staff          8192 Feb  2 09:09 2616_vm
> -rw-------    1 pgstbf   staff        122880 Feb  2 09:09 2617
> -rw-------    1 pgstbf   staff         24576 Feb  2 09:09 2617_fsm
> -rw-------    1 pgstbf   staff          8192 Feb  2 09:09 2617_vm
> -rw-------    1 pgstbf   staff         98304 Feb  2 09:09 2618
> -rw-------    1 pgstbf   staff         24576 Feb  2 09:09 2618_fsm
> -rw-------    1 pgstbf   staff          8192 Feb  2 09:09 2618_vm
> -rw-------    1 pgstbf   staff        122880 Feb  2 09:14 2619
> -rw-------    1 pgstbf   staff         24576 Feb  2 09:14 2619_fsm
> -rw-------    1 pgstbf   staff          8192 Feb  2 09:14 2619_vm
> -rw-------    1 pgstbf   staff             0 Feb  2 09:09 2620
> -rw-------    1 pgstbf   staff             0 Feb  2 09:09 2620_vm
> -rw-------    1 pgstbf   staff         16384 Feb  2 09:09 2650
> -rw-------    1 pgstbf   staff         16384 Feb  2 09:09 2651
> -rw-------    1 pgstbf   staff         16384 Feb  2 09:09 2652
> -rw-------    1 pgstbf   staff         40960 Feb  2 09:09 2653
> -rw-------    1 pgstbf   staff         40960 Feb  2 09:09 2654
> -rw-------    1 pgstbf   staff         40960 Feb  2 09:09 2655
> -rw-------    1 pgstbf   staff          8192 Feb  2 09:09 2656
> -rw-------    1 pgstbf   staff          8192 Feb  2 09:09 2657
> -rw-------    1 pgstbf   staff        106496 Feb  2 09:14 2658
> -rw-------    1 pgstbf   staff         73728 Feb  2 09:14 2659
> -rw-------    1 pgstbf   staff         16384 Feb  2 09:09 2660
> -rw-------    1 pgstbf   staff         16384 Feb  2 09:09 2661
> -rw-------    1 pgstbf   staff         32768 Feb  2 09:14 2662
> -rw-------    1 pgstbf   staff         40960 Feb  2 09:14 2663
> -rw-------    1 pgstbf   staff         16384 Feb  2 09:09 2664
> -rw-------    1 pgstbf   staff         16384 Feb  2 09:09 2665
> -rw-------    1 pgstbf   staff         16384 Feb  2 09:09 2666
> -rw-------    1 pgstbf   staff         16384 Feb  2 09:09 2667
> -rw-------    1 pgstbf   staff         16384 Feb  2 09:09 2668
> -rw-------    1 pgstbf   staff         16384 Feb  2 09:09 2669
> -rw-------    1 pgstbf   staff         16384 Feb  2 09:09 2670
> -rw-------    1 pgstbf   staff        319488 Feb  2 09:14 2673
> -rw-------    1 pgstbf   staff        352256 Feb  2 09:14 2674
> -rw-------    1 pgstbf   staff        172032 Feb  2 09:09 2675
> -rw-------    1 pgstbf   staff         16384 Feb  2 09:09 2678
> -rw-------    1 pgstbf   staff         16384 Feb  2 09:09 2679
> -rw-------    1 pgstbf   staff          8192 Feb  2 09:09 2680
> -rw-------    1 pgstbf   staff         16384 Feb  2 09:09 2681
> -rw-------    1 pgstbf   staff         16384 Feb  2 09:09 2682
> -rw-------    1 pgstbf   staff          8192 Feb  2 09:09 2683
> -rw-------    1 pgstbf   staff         16384 Feb  2 09:09 2684
> -rw-------    1 pgstbf   staff         16384 Feb  2 09:09 2685
> -rw-------    1 pgstbf   staff         16384 Feb  2 09:09 2686
> -rw-------    1 pgstbf   staff         16384 Feb  2 09:09 2687
> -rw-------    1 pgstbf   staff         40960 Feb  2 09:09 2688
> -rw-------    1 pgstbf   staff         40960 Feb  2 09:09 2689
> -rw-------    1 pgstbf   staff         81920 Feb  2 09:09 2690
> -rw-------    1 pgstbf   staff        253952 Feb  2 09:09 2691
> -rw-------    1 pgstbf   staff         16384 Feb  2 09:09 2692
> -rw-------    1 pgstbf   staff         16384 Feb  2 09:09 2693
> -rw-------    1 pgstbf   staff         16384 Feb  2 09:14 2696
> -rw-------    1 pgstbf   staff          8192 Feb  2 09:09 2699
> -rw-------    1 pgstbf   staff          8192 Feb  2 09:09 2701
> -rw-------    1 pgstbf   staff          8192 Feb  2 09:09 2702
> -rw-------    1 pgstbf   staff         16384 Feb  2 09:14 2703
> -rw-------    1 pgstbf   staff         40960 Feb  2 09:14 2704
> -rw-------    1 pgstbf   staff         16384 Feb  2 09:09 2753
> -rw-------    1 pgstbf   staff         24576 Feb  2 09:09 2753_fsm
> -rw-------    1 pgstbf   staff          8192 Feb  2 09:09 2753_vm
> -rw-------    1 pgstbf   staff         16384 Feb  2 09:09 2754
> -rw-------    1 pgstbf   staff         16384 Feb  2 09:09 2755
> -rw-------    1 pgstbf   staff         32768 Feb  2 09:09 2756
> -rw-------    1 pgstbf   staff         32768 Feb  2 09:09 2757
> -rw-------    1 pgstbf   staff             0 Feb  2 09:09 2830
> -rw-------    1 pgstbf   staff             0 Feb  2 09:09 2830_vm
> -rw-------    1 pgstbf   staff          8192 Feb  2 09:09 2831
> -rw-------    1 pgstbf   staff             0 Feb  2 09:09 2832
> -rw-------    1 pgstbf   staff             0 Feb  2 09:09 2832_vm
> -rw-------    1 pgstbf   staff          8192 Feb  2 09:09 2833
> -rw-------    1 pgstbf   staff             0 Feb  2 09:09 2834
> -rw-------    1 pgstbf   staff             0 Feb  2 09:09 2834_vm
> -rw-------    1 pgstbf   staff          8192 Feb  2 09:09 2835
> -rw-------    1 pgstbf   staff             0 Feb  2 09:09 2836
> -rw-------    1 pgstbf   staff             0 Feb  2 09:09 2836_vm
> -rw-------    1 pgstbf   staff          8192 Feb  2 09:09 2837
> -rw-------    1 pgstbf   staff        385024 Feb  2 09:09 2838
> -rw-------    1 pgstbf   staff         24576 Feb  2 09:09 2838_fsm
> -rw-------    1 pgstbf   staff          8192 Feb  2 09:09 2838_vm
> -rw-------    1 pgstbf   staff         16384 Feb  2 09:09 2839
> -rw-------    1 pgstbf   staff         24576 Feb  2 09:09 2840
> -rw-------    1 pgstbf   staff         24576 Feb  2 09:09 2840_fsm
> -rw-------    1 pgstbf   staff          8192 Feb  2 09:09 2840_vm
> -rw-------    1 pgstbf   staff         16384 Feb  2 09:09 2841
> -rw-------    1 pgstbf   staff             0 Feb  2 09:09 2995
> -rw-------    1 pgstbf   staff             0 Feb  2 09:09 2995_vm
> -rw-------    1 pgstbf   staff          8192 Feb  2 09:09 2996
> -rw-------    1 pgstbf   staff          8192 Feb  2 09:09 3079
> -rw-------    1 pgstbf   staff         24576 Feb  2 09:09 3079_fsm
> -rw-------    1 pgstbf   staff          8192 Feb  2 09:09 3079_vm
> -rw-------    1 pgstbf   staff         16384 Feb  2 09:09 3080
> -rw-------    1 pgstbf   staff         16384 Feb  2 09:09 3081
> -rw-------    1 pgstbf   staff         16384 Feb  2 09:09 3085
> -rw-------    1 pgstbf   staff             0 Feb  2 09:09 3118
> -rw-------    1 pgstbf   staff             0 Feb  2 09:09 3118_vm
> -rw-------    1 pgstbf   staff          8192 Feb  2 09:09 3119
> -rw-------    1 pgstbf   staff         16384 Feb  2 09:09 3164
> -rw-------    1 pgstbf   staff             0 Feb  2 09:09 3256
> -rw-------    1 pgstbf   staff             0 Feb  2 09:09 3256_vm
> -rw-------    1 pgstbf   staff          8192 Feb  2 09:09 3257
> -rw-------    1 pgstbf   staff          8192 Feb  2 09:09 3258
> -rw-------    1 pgstbf   staff         16384 Feb  2 09:09 3394
> -rw-------    1 pgstbf   staff         24576 Feb  2 09:09 3394_fsm
> -rw-------    1 pgstbf   staff          8192 Feb  2 09:09 3394_vm
> -rw-------    1 pgstbf   staff         16384 Feb  2 09:09 3395
> -rw-------    1 pgstbf   staff         32768 Feb  2 09:14 3455
> -rw-------    1 pgstbf   staff          8192 Feb  2 09:09 3456
> -rw-------    1 pgstbf   staff         24576 Feb  2 09:09 3456_fsm
> -rw-------    1 pgstbf   staff          8192 Feb  2 09:09 3456_vm
> -rw-------    1 pgstbf   staff             0 Feb  2 09:09 3466
> -rw-------    1 pgstbf   staff             0 Feb  2 09:09 3466_vm
> -rw-------    1 pgstbf   staff          8192 Feb  2 09:09 3467
> -rw-------    1 pgstbf   staff          8192 Feb  2 09:09 3468
> -rw-------    1 pgstbf   staff             0 Feb  2 09:09 3501
> -rw-------    1 pgstbf   staff             0 Feb  2 09:09 3501_vm
> -rw-------    1 pgstbf   staff          8192 Feb  2 09:09 3502
> -rw-------    1 pgstbf   staff          8192 Feb  2 09:09 3503
> -rw-------    1 pgstbf   staff          8192 Feb  2 09:09 3534
> -rw-------    1 pgstbf   staff          8192 Feb  2 09:09 3541
> -rw-------    1 pgstbf   staff         24576 Feb  2 09:09 3541_fsm
> -rw-------    1 pgstbf   staff          8192 Feb  2 09:09 3541_vm
> -rw-------    1 pgstbf   staff         16384 Feb  2 09:09 3542
> -rw-------    1 pgstbf   staff          8192 Feb  2 09:09 3574
> -rw-------    1 pgstbf   staff          8192 Feb  2 09:09 3575
> -rw-------    1 pgstbf   staff             0 Feb  2 09:09 3576
> -rw-------    1 pgstbf   staff             0 Feb  2 09:09 3576_vm
> -rw-------    1 pgstbf   staff             0 Feb  2 09:09 3596
> -rw-------    1 pgstbf   staff             0 Feb  2 09:09 3596_vm
> -rw-------    1 pgstbf   staff          8192 Feb  2 09:09 3597
> -rw-------    1 pgstbf   staff             0 Feb  2 09:09 3598
> -rw-------    1 pgstbf   staff             0 Feb  2 09:09 3598_vm
> -rw-------    1 pgstbf   staff          8192 Feb  2 09:09 3599
> -rw-------    1 pgstbf   staff          8192 Feb  2 09:09 3600
> -rw-------    1 pgstbf   staff         24576 Feb  2 09:09 3600_fsm
> -rw-------    1 pgstbf   staff          8192 Feb  2 09:09 3600_vm
> -rw-------    1 pgstbf   staff          8192 Feb  2 09:09 3601
> -rw-------    1 pgstbf   staff         24576 Feb  2 09:09 3601_fsm
> -rw-------    1 pgstbf   staff          8192 Feb  2 09:09 3601_vm
> -rw-------    1 pgstbf   staff          8192 Feb  2 09:09 3602
> -rw-------    1 pgstbf   staff         24576 Feb  2 09:09 3602_fsm
> -rw-------    1 pgstbf   staff          8192 Feb  2 09:09 3602_vm
> -rw-------    1 pgstbf   staff         16384 Feb  2 09:09 3603
> -rw-------    1 pgstbf   staff         24576 Feb  2 09:09 3603_fsm
> -rw-------    1 pgstbf   staff          8192 Feb  2 09:09 3603_vm
> -rw-------    1 pgstbf   staff         16384 Feb  2 09:09 3604
> -rw-------    1 pgstbf   staff         16384 Feb  2 09:09 3605
> -rw-------    1 pgstbf   staff         16384 Feb  2 09:09 3606
> -rw-------    1 pgstbf   staff         16384 Feb  2 09:09 3607
> -rw-------    1 pgstbf   staff         16384 Feb  2 09:09 3608
> -rw-------    1 pgstbf   staff         32768 Feb  2 09:09 3609
> -rw-------    1 pgstbf   staff         16384 Feb  2 09:09 3712
> -rw-------    1 pgstbf   staff          8192 Feb  2 09:09 3764
> -rw-------    1 pgstbf   staff         24576 Feb  2 09:09 3764_fsm
> -rw-------    1 pgstbf   staff          8192 Feb  2 09:09 3764_vm
> -rw-------    1 pgstbf   staff         16384 Feb  2 09:09 3766
> -rw-------    1 pgstbf   staff         16384 Feb  2 09:09 3767
> -rw-------    1 pgstbf   staff          8192 Feb  2 09:09 548
> -rw-------    1 pgstbf   staff          8192 Feb  2 09:09 549
> -rw-------    1 pgstbf   staff             0 Feb  2 09:09 826
> -rw-------    1 pgstbf   staff             0 Feb  2 09:09 826_vm
> -rw-------    1 pgstbf   staff          8192 Feb  2 09:09 827
> -rw-------    1 pgstbf   staff          8192 Feb  2 09:09 828
> -rw-------    1 pgstbf   staff             4 Feb  2 09:09 PG_VERSION
> -rw-------    1 pgstbf   staff           512 Feb  2 09:09 pg_filenode.map
> -rw-------    1 pgstbf   staff        112660 Feb  2 09:09 pg_internal.init
>
>
>
> Le 01/02/2017 à 21:26, Konstantin Knizhnik a écrit :
>> On 02/01/2017 08:30 PM, REIX, Tony wrote:
>>>
>>> Hi Konstantin,
>>>
>>> ....
>>>
>>> If you could*share scripts or instructions about the tests you are 
>>> doing with pgbench*, I would reproduce here.
>>>
>>
>> You do not need any script.
>> Just two simple commands.
>> One to initialize database:
>>
>> pgbench -i -s 1000
>>
>> And another to run benchmark itself:
>>
>> pgbench -c 100 -j 20 -P 1 -T 1000000000
>> ...
>>>
>>> Regards,
>>>
>>> Tony
>>>
>>>
>>> Le 01/02/2017 à 16:59, Konstantin Knizhnik a écrit :
>>>> 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
>>>
>>
>>
>> -- 
>> Konstantin Knizhnik
>> Postgres Professional:http://www.postgrespro.com
>> The Russian Postgres Company
>

-- 
Konstantin Knizhnik
Postgres Professional: http://www.postgrespro.com
The Russian Postgres Company

Commits

  1. For all ppc compilers, implement compare_exchange and fetch_add with asm.

  2. For PowerPC instruction "addi", use constraint "b".

  3. For all ppc compilers, implement pg_atomic_fetch_add_ with inline asm.

  4. Replace xlc __fetch_and_add() with inline asm.

  5. Test pg_atomic_fetch_add_ with variable addend and 16-bit edge cases.