Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 24 Mar 2024 06:02:56 -0700
From:      Mark Millard <marklmi@yahoo.com>
To:        FreeBSD ARM List <freebsd-arm@freebsd.org>, Current FreeBSD <freebsd-current@freebsd.org>
Subject:   FYI: main-n268827-75464941dc17 GENERIC-NODEBUG UFS-based poudriere bulk context  got 4 "swap_pager: cannot allocate bio"
Message-ID:  <CB864385-6A27-4DB9-AE63-22E6237F4E39@yahoo.com>

index | next in thread | raw e-mail

Context: I'm deliberately testing building example poudriere-devel
configurations with only 2 GiBytes of RAM and RAM+SWAP == 8.5 GiBytes,
SWAP on a partition of its own.

# tail -3 /var/log/messages
Mar 23 16:39:38 aarch64-main-pkgs kernel: pid 37137 (conftest), jid 11, uid 0: exited on signal 11 (core dumped)
Mar 24 04:51:50 aarch64-main-pkgs kernel: swap_pager: cannot allocate bio
Mar 24 04:51:50 aarch64-main-pkgs syslogd: last message repeated 3 times

It is the first time I've seen such a message.

I've a modified top that tracks some "MaxObs" (Maximum Observed)
figures. They happened to show:

Mem:  . . . 1473Mi MaxObsActive, 477304Ki MaxObsWired, 1908Mi MaxObs(Act+Wir+Lndry)
Swap: . . . 3101Mi MaxObsUsed, 4456Mi MaxObs(Act+Lndry+SwapUsed), 4887Mi MaxObs(A+Wir+L+SU), 4933Mi (A+W+L+SU+InAct)

(The 4933Mi (A+W+L+SU+InAct) is from when 4887Mi MaxObs(A+Wir+L+SU) was
live but is not a MaxObs figure itself.)

It was paging significantly at the time, of course.

It seems to have survived okay and everything continued
to build. It got past the peak RAM+SWAP use activity.


For reference:

/usr/local/etc/poudriere.conf has . . .

NO_ZFS=yes
USE_TMPFS=data
PARALLEL_JOBS=2
ALLOW_MAKE_JOBS=yes
MAX_EXECUTION_TIME=432000
NOHANG_TIME=432000
MAX_EXECUTION_TIME_EXTRACT=14400
MAX_EXECUTION_TIME_INSTALL=14400
MAX_EXECUTION_TIME_PACKAGE=57600
MAX_EXECUTION_TIME_DEINSTALL=14400

/usr/local/etc/poudriere.d/make.conf has . . .

MAKE_JOBS_NUMBER_LIMIT=2

/boot/loader.conf has . . .

vm.pageout_oom_seq=120


rust and llvm18 were building at the time. The from-scratch
bulk build is of 271 packages. 143 had already built.

llvm18 was using more RAM+SWAP than rust and was working
on some llvm-tblgen runs for AMDGPU at the time.

The swap partition in use was/is:

=>        34  1875384941     da0  GPT  (894G)
. . .
   523773952    13631488  da0p10  freebsd-swap  (6.5G)
. . .

# uname -apKU
FreeBSD aarch64-main-pkgs 15.0-CURRENT FreeBSD 15.0-CURRENT main-n268827-75464941dc17 GENERIC-NODEBUG arm64 aarch64 1500015 1500015

That is a PkgBase kernel and PkgBase world combination.
The poudriere bulk jail is also 75464941dc17 but was
via the artifact build materials.

The 2 GiBytes is via the RPi4B config.txt having
total_mem=2048 . (I've no access to an aarch64 with
2 GiBytes of actual RAM.)

The media is USB3. It happens to be U.2 Optane 960GB
media via a USB3 adapter for U.2 . The UFS partition
was/is:

   537405440  1337979528   da0p9  freebsd-ufs  (638G)


===
Mark Millard
marklmi at yahoo.com



home | help

Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CB864385-6A27-4DB9-AE63-22E6237F4E39>