Re: rms_rlock with non-sleepable locks held

From: David Wolfskill <david_at_catwhisker.org>
Date: Sat, 16 May 2026 14:55:44 UTC
On Sat, May 16, 2026 at 03:45:39PM +0200, Dag-Erling Smørgrav wrote:
> Konstantin Belousov <kostikbel@gmail.com> writes:
> > Dag-Erling Smørgrav <des@FreeBSD.org> writes:
> > > On recent main with a debugging kernel, I am unable to build
> > > anything as the system slows to a crawl while the console is
> > > inundated with stack traces: [...]
> > I already posted the patch below somewhere, but did not get a response.
> 
> The patch made no difference.
> 
> FWIW what triggers the problem is running tail -F on the build log,
> which I always do when building.  Tailing a file which is being written
> to triggers it on every write, but even tailing an empty file triggers
> it about once per second.
> 
> So for now I'm able to build, as long as I don't tail the log...
> ...

I am a bit puzzled, as from the description, I would expect to see
similar behavior, but I do not.

I am tracking head (and stable/15) daily, on a set of 5 machines:

* a headless build machine, AMD EPYC 7502P 32-Core Processor, with
  GENERIC kernel;
* 3 Dell laptops of varying vintages with 4-core Intel CPUs with a
  lightly-customized kernel based on GENERIC;
* 1 Thinkpad T14s, also with an Intel CPU, with GENERIC kernel.

The Thinkpad is completely ZFS-based; the others are UFS(+SU)-based (but
the headless build machine uses ZFS for ports & package-building (using
poudriere-devel)).

Each is amd64.  Each uses meta-mode.  Two of the Dell laptops use
ccache.  Each machine has its own private local mirror of the
FreeBSD.org src, ports, & doc respoistories.  The build machine
syncs from git.freebsd.org; the others sync from it (unless I'm
traveling with one of them).

In each case, I am logging in to each machine from a different (6th)
one, on which I run net/omnitty to mux the ssh sessions; on each, I run
tmux; within the tmux session, I do the builds within script(1).

I login to each again (from another omnitty session) to run

	tail -9999999f $logfile | egrep '^(>>|(make\[[0-9]+\]|ld):)'

to track progress.

I have found it speeds things up a bit to detch the tmux sessions, so I
don't have 5 machines' worth of build-chatter spewing at one poor laptop
over a wireless link. :-}

The last few builds of head were:

main-n285812-bcecad2c24aa: Tue May 12 11:07:43 UTC 2026
main-n285848-1729d2f741a1: Wed May 13 11:10:51 UTC 2026
main-n285902-b8606c3406ea: Thu May 14 11:47:03 UTC 2026
main-n285916-e0c3d21e3b43: Fri May 15 10:52:11 UTC 2026
main-n285928-183633079178: Sat May 16 10:40:02 UTC 2026

More details are at https://www.catwhisker.org/~david/FreeBSD/history/,
in case that might be of interest.

Peace,
david
-- 
David H. Wolfskill                              david@catwhisker.org

See https://www.catwhisker.org/~david/publickey.gpg for my public key.