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>
References:  <CB864385-6A27-4DB9-AE63-22E6237F4E39.ref@yahoo.com>

next in thread | previous in thread | raw e-mail | index | archive | help
Context: I'm deliberately testing building example poudriere-devel
configurations with only 2 GiBytes of RAM and RAM+SWAP =3D=3D 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=3Dyes
USE_TMPFS=3Ddata
PARALLEL_JOBS=3D2
ALLOW_MAKE_JOBS=3Dyes
MAX_EXECUTION_TIME=3D432000
NOHANG_TIME=3D432000
MAX_EXECUTION_TIME_EXTRACT=3D14400
MAX_EXECUTION_TIME_INSTALL=3D14400
MAX_EXECUTION_TIME_PACKAGE=3D57600
MAX_EXECUTION_TIME_DEINSTALL=3D14400

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

MAKE_JOBS_NUMBER_LIMIT=3D2

/boot/loader.conf has . . .

vm.pageout_oom_seq=3D120


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:

=3D>        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=3D2048 . (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)


=3D=3D=3D
Mark Millard
marklmi at yahoo.com




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