Hi Tom, Robert and community members, >True. My point is that the AIX hardware available to our community >is so slow as to make working on this patch quite unpleasant. >If what OSUOSL has is not representative of typical AIX installations, >why not, and could we have access to a machine that is?
Thank you for your patience. We have provisioned access to a well‑configured node in the OSU lab (p9‑aix1‑postgres1), equipped with 4 processors and 8 SMT threads per processor. We updated the system configuration earlier today. Please share your public key so we can grant you access, and you can continue your testing on this machine. Let us know if you have any questions or if you need anything specific. We’ve also resolved the issues in the GNU build, and we’re sharing the build-time and TAP test results collected on the p9‑aix1‑postgres1 node. Since this system provides 32 hardware threads, you can safely use up to -j32 for parallel builds. Below are the timings for configure, make, and test runs (including TAP tests). ============================ time ./configure --enable-tap-tests --without-icu config.status: creating src/interfaces/ecpg/include/ecpg_config.h config.status: linking src/backend/port/sysv_sema.c to src/backend/port/pg_sema.c config.status: linking src/backend/port/sysv_shmem.c to src/backend/port/pg_shmem.c config.status: linking src/include/port/aix.h to src/include/pg_config_os.h config.status: linking src/makefiles/Makefile.aix to src/Makefile.port real 0m33.803s user 0m7.474s sys 0m2.453s ============================ time gmake world-bin -j 16 gmake[2]: Leaving directory '/home/buildusr/postgres/contrib/postgres_fdw' gmake[1]: Leaving directory '/home/buildusr/postgres/contrib' real 0m59.334s user 1m41.210s sys 0m10.013s =========================== time gmake check-world -j 16 t/040_standby_failover_slots_sync.pl .. ok t/041_checkpoint_at_promote.pl ........ skipped: Injection points not supported by this build t/042_low_level_backup.pl ............. ok t/043_no_contrecord_switch.pl ......... ok t/044_invalidate_inactive_slots.pl .... skipped: Injection points not supported by this build t/045_archive_restartpoint.pl ......... ok t/046_checkpoint_logical_slot.pl ...... skipped: Injection points not supported by this build t/047_checkpoint_physical_slot.pl ..... skipped: Injection points not supported by this build t/048_vacuum_horizon_floor.pl ......... ok t/049_wait_for_lsn.pl ................. ok t/050_redo_segment_missing.pl ......... skipped: Injection points not supported by this build t/051_effective_wal_level.pl .......... ok All tests successful. Files=50, Tests=584, 580 wallclock secs ( 0.15 usr 0.06 sys + 15.75 cusr 23.02 csys = 38.98 CPU) Result: PASS gmake[2]: Leaving directory '/home/buildusr/postgres/src/test/recovery' gmake[1]: Leaving directory '/home/buildusr/postgres/src/test' real 10m5.303s user 2m1.573s sys 1m50.873s =========================== We also have a RAMFS directory configured in the same node. Below are the test case results with RAMFS. =========================== Configure time in RAMFS time ./configure --enable-tap-tests --without-icu config.status: creating GNUmakefile config.status: creating src/Makefile.global config.status: creating src/include/pg_config.h config.status: creating src/interfaces/ecpg/include/ecpg_config.h config.status: linking src/backend/port/sysv_sema.c to src/backend/port/pg_sema.c config.status: linking src/backend/port/sysv_shmem.c to src/backend/port/pg_shmem.c config.status: linking src/include/port/aix.h to src/include/pg_config_os.h config.status: linking src/makefiles/Makefile.aix to src/Makefile.port real 0m33.371s user 0m7.485s sys 0m2.456s ============================= time gmake world-bin -j 16 gcc -Wall -Wmissing-prototypes -Wpointer-arith -Wdeclaration-after-statement -Werror=vla -Wendif-labels -Wmissing-format-attribute -Wimplicit-fallthrough=3 -Wcast-function-type -Wshadow=compatible-local -Wformat-security -fno-strict-aliasing -fwrapv -fexcess-precision=standard -Wno-format-truncation -Wno-stringop-truncation -maix64 -fvisibility=hidden -o postgres_fdw.so connection.o deparse.o option.o postgres_fdw.o shippable.o -L../../src/port -L../../src/common -L../../src/interfaces/libpq -lpq -maix64 -Wl,-bbigtoc -shared -fvisibility=hidden -Wl,-bI:../../src/backend/postgres.imp gmake[2]: Leaving directory '/postgres_build/postgres/contrib/postgres_fdw' gmake[1]: Leaving directory '/postgres_build/postgres/contrib' real 0m47.181s user 1m22.055s sys 0m7.948s ================================== t/040_standby_failover_slots_sync.pl .. ok t/041_checkpoint_at_promote.pl ........ skipped: Injection points not supported by this build t/042_low_level_backup.pl ............. ok t/043_no_contrecord_switch.pl ......... ok t/044_invalidate_inactive_slots.pl .... skipped: Injection points not supported by this build t/045_archive_restartpoint.pl ......... ok t/046_checkpoint_logical_slot.pl ...... skipped: Injection points not supported by this build t/047_checkpoint_physical_slot.pl ..... skipped: Injection points not supported by this build t/048_vacuum_horizon_floor.pl ......... ok t/049_wait_for_lsn.pl ................. ok t/050_redo_segment_missing.pl ......... skipped: Injection points not supported by this build t/051_effective_wal_level.pl .......... ok All tests successful. Files=50, Tests=584, 365 wallclock secs ( 0.14 usr 0.06 sys + 15.10 cusr 20.42 csys = 35.72 CPU) Result: PASS gmake[2]: Leaving directory '/postgres_build/postgres/src/test/recovery' gmake[1]: Leaving directory '/postgres_build/postgres/src/test' real 6m16.401s user 1m51.771s sys 1m35.747s ======================= Thank you for your support. We really appreciate your guidance so far. Have a nice day ahead. Thanks and regards, Aditya.
