FYI: main-n268827-75464941dc17 GENERIC-NODEBUG UFS-based poudriere bulk context got 4 "swap_pager: cannot allocate bio"

Mark Millard <[email protected]>
Newsgroups gmane.os.freebsd.devel.arm,gmane.os.freebsd.current
Message-ID <[email protected]>
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
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.