Increase OpenBSD CI task's RAM disk size

Started by Nazir Bilal Yavuz5 months ago5 messages
#1Nazir Bilal Yavuz
byavuz81@gmail.com
1 attachment(s)

Hi,

Sometimes OpenBSD CI tasks fail with 'No space left on device' [1]https://cirrus-ci.com/task/4600833263796224.
It's due to the OpenBSD CI task's RAM disk size being ~3.8 GB. This
patch increases it to ~4.6 GB. I chose this size manually, we can
increase it more.

Any feedback would be appreciated.

[1]: https://cirrus-ci.com/task/4600833263796224

--
Regards,
Nazir Bilal Yavuz
Microsoft

Attachments:

v1-0001-ci-openbsd-Increase-RAM-disk-s-size.patchtext/x-patch; charset=US-ASCII; name=v1-0001-ci-openbsd-Increase-RAM-disk-s-size.patchDownload
From 3bbac7b116e74ed1932cc14c3a086fe951a3e2a8 Mon Sep 17 00:00:00 2001
From: Nazir Bilal Yavuz <byavuz81@gmail.com>
Date: Fri, 15 Aug 2025 11:28:56 +0300
Subject: [PATCH v1] ci: openbsd: Increase RAM disk's size

Its size was ~3.8GB before, which was not enough sometimes. OpenBSD CI
task was failing due to no space left on device. So, make it ~4.6 GB.
---
 src/tools/ci/gcp_ram_disk.sh | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/src/tools/ci/gcp_ram_disk.sh b/src/tools/ci/gcp_ram_disk.sh
index d48634512ac..18dbb2037f5 100755
--- a/src/tools/ci/gcp_ram_disk.sh
+++ b/src/tools/ci/gcp_ram_disk.sh
@@ -15,7 +15,12 @@ case "`uname`" in
     umount /dev/sd0j # unused /usr/obj partition
     printf "m j\n\n\nswap\nw\nq\n" | disklabel -E sd0
     swapon /dev/sd0j
-    mount -t mfs -o rw,noatime,nodev,-s=8000000 swap $CIRRUS_WORKING_DIR
+    # Remove the per-process data segment limit so that mount_mfs can allocate
+    # large memory filesystems. Without this, mount_mfs mmap() may fail with
+    # "Cannot allocate memory" if the requested size exceeds the current
+    # datasize limit.
+    ulimit -d unlimited
+    mount -t mfs -o rw,noatime,nodev,-s=10000000 swap $CIRRUS_WORKING_DIR
     ;;
 esac
 
-- 
2.50.1

#2Daniel Gustafsson
daniel@yesql.se
In reply to: Nazir Bilal Yavuz (#1)
Re: Increase OpenBSD CI task's RAM disk size

On 15 Aug 2025, at 10:46, Nazir Bilal Yavuz <byavuz81@gmail.com> wrote:

Sometimes OpenBSD CI tasks fail with 'No space left on device' [1].
It's due to the OpenBSD CI task's RAM disk size being ~3.8 GB. This
patch increases it to ~4.6 GB. I chose this size manually, we can
increase it more.

I don't know Cirrus enough to know if this is a daft question, but does this
impact the cost (in actual money or credits) for running the CI tests?

--
Daniel Gustafsson

#3Nazir Bilal Yavuz
byavuz81@gmail.com
In reply to: Daniel Gustafsson (#2)
Re: Increase OpenBSD CI task's RAM disk size

Hi,

Thank you for looking into this!

On Fri, 15 Aug 2025 at 12:19, Daniel Gustafsson <daniel@yesql.se> wrote:

On 15 Aug 2025, at 10:46, Nazir Bilal Yavuz <byavuz81@gmail.com> wrote:

Sometimes OpenBSD CI tasks fail with 'No space left on device' [1].
It's due to the OpenBSD CI task's RAM disk size being ~3.8 GB. This
patch increases it to ~4.6 GB. I chose this size manually, we can
increase it more.

I don't know Cirrus enough to know if this is a daft question, but does this
impact the cost (in actual money or credits) for running the CI tests?

I don't expect this to increase costs, and it might even reduce them
slightly. Disks generally perform slower when free space is low, so
the change could make OpenBSD CI tasks faster.

--
Regards,
Nazir Bilal Yavuz
Microsoft

#4Daniel Gustafsson
daniel@yesql.se
In reply to: Nazir Bilal Yavuz (#3)
Re: Increase OpenBSD CI task's RAM disk size

On 15 Aug 2025, at 12:20, Nazir Bilal Yavuz <byavuz81@gmail.com> wrote:
On Fri, 15 Aug 2025 at 12:19, Daniel Gustafsson <daniel@yesql.se> wrote:

On 15 Aug 2025, at 10:46, Nazir Bilal Yavuz <byavuz81@gmail.com> wrote:

Sometimes OpenBSD CI tasks fail with 'No space left on device' [1].
It's due to the OpenBSD CI task's RAM disk size being ~3.8 GB. This
patch increases it to ~4.6 GB. I chose this size manually, we can
increase it more.

I don't know Cirrus enough to know if this is a daft question, but does this
impact the cost (in actual money or credits) for running the CI tests?

I don't expect this to increase costs, and it might even reduce them
slightly. Disks generally perform slower when free space is low, so
the change could make OpenBSD CI tasks faster.

Thanks for clarifying, this definitely seems like something we should do to
keep tests from failing.

--
Daniel Gustafsson

#5Andres Freund
andres@anarazel.de
In reply to: Daniel Gustafsson (#4)
Re: Increase OpenBSD CI task's RAM disk size

Hi,

On 2025-09-02 10:24:34 +0200, Daniel Gustafsson wrote:

On 15 Aug 2025, at 12:20, Nazir Bilal Yavuz <byavuz81@gmail.com> wrote:
On Fri, 15 Aug 2025 at 12:19, Daniel Gustafsson <daniel@yesql.se> wrote:

On 15 Aug 2025, at 10:46, Nazir Bilal Yavuz <byavuz81@gmail.com> wrote:

Sometimes OpenBSD CI tasks fail with 'No space left on device' [1].
It's due to the OpenBSD CI task's RAM disk size being ~3.8 GB. This
patch increases it to ~4.6 GB. I chose this size manually, we can
increase it more.

I don't know Cirrus enough to know if this is a daft question, but does this
impact the cost (in actual money or credits) for running the CI tests?

I don't expect this to increase costs, and it might even reduce them
slightly. Disks generally perform slower when free space is low, so
the change could make OpenBSD CI tasks faster.

Thanks for clarifying, this definitely seems like something we should do to
keep tests from failing.

Pushed it now.

I've just enabled openbsd, netbsd and mingw to run by default on
postgres/postgres. If that works without a problem, I'll also enable it on
postgresql-cfbot.

Greetings,

Andres Freund