diff options
-rw-r--r-- | .cirrus.tasks.yml | 8 | ||||
-rwxr-xr-x | src/tools/ci/gcp_freebsd_repartition.sh | 24 |
2 files changed, 14 insertions, 18 deletions
diff --git a/.cirrus.tasks.yml b/.cirrus.tasks.yml index 3b5b54df58f..1adfdfdd456 100644 --- a/.cirrus.tasks.yml +++ b/.cirrus.tasks.yml @@ -126,11 +126,9 @@ task: name: FreeBSD - 13 - Meson env: - # FreeBSD on GCP is slow when running with larger number of CPUS / - # jobs. Using one more job than cpus seems to work best. - CPUS: 2 - BUILD_JOBS: 3 - TEST_JOBS: 3 + CPUS: 4 + BUILD_JOBS: 4 + TEST_JOBS: 8 IMAGE_FAMILY: pg-ci-freebsd-13 DISK_SIZE: 50 diff --git a/src/tools/ci/gcp_freebsd_repartition.sh b/src/tools/ci/gcp_freebsd_repartition.sh index 2d5e1738998..cc7f6bc35ef 100755 --- a/src/tools/ci/gcp_freebsd_repartition.sh +++ b/src/tools/ci/gcp_freebsd_repartition.sh @@ -3,26 +3,24 @@ set -e set -x -# The default filesystem on freebsd gcp images is very slow to run tests on, -# due to its 32KB block size -# -# XXX: It'd probably better to fix this in the image, using something like -# https://people.freebsd.org/~lidl/blog/re-root.html - # fix backup partition table after resize gpart recover da0 gpart show da0 -# kill swap, so we can delete a partition -swapoff -a || true -# (apparently we can only have 4!?) + +# delete and re-add swap partition with expanded size +swapoff -a gpart delete -i 3 da0 -gpart add -t freebsd-ufs -l data8k -a 4096 da0 +gpart add -t freebsd-swap -l swapfs -a 4096 da0 gpart show da0 -newfs -U -b 8192 /dev/da0p3 +swapon -a + +# create a file system on a memory disk backed by swap, to minimize I/O +mdconfig -a -t swap -s20g -u md1 +newfs -b 8192 -U /dev/md1 -# Migrate working directory +# migrate working directory du -hs $CIRRUS_WORKING_DIR mv $CIRRUS_WORKING_DIR $CIRRUS_WORKING_DIR.orig mkdir $CIRRUS_WORKING_DIR -mount -o noatime /dev/da0p3 $CIRRUS_WORKING_DIR +mount -o noatime /dev/md1 $CIRRUS_WORKING_DIR cp -r $CIRRUS_WORKING_DIR.orig/* $CIRRUS_WORKING_DIR/ |