[SOLVED] Re: Strange behavior after running under high load

Poul-Henning Kamp phk at phk.freebsd.dk
Sat Apr 3 06:51:03 UTC 2021

Mateusz Guzik writes:

> It is high because of this:
>                 msleep(&vnlruproc_sig, &vnode_list_mtx, PVFS, "vlruwk", hz);
> i.e. it literally sleeps for 1 second.

Before the line looked like that, it slept on "lbolt" aka "lightning
bolt" which was woken once a second.

The calculations which come up with those "constants" have always
been utterly bogus math, not quite "square-root of shoe-size
times sun-angle in Patagonia", but close.

The original heuristic came from university environments with tons of
students doing assignments and nethack behind VT102 terminals, on
filesystems where files only seldom grew past 100KB, so it made sense
to scale number of vnodes to how much RAM was in the system, because
that also scaled the size of the buffer-cache.

With a merged VM buffer-cache, whatever validity that heuristic had
was lost, and we tweaked the bogomath in various ways until it
seemed to mostly work, trusting the users for which it did not, to
tweak things themselves.

Please dont tweak the Finagle Constants again.

Rip all that crap out and come up with something fundamentally better.

Poul-Henning Kamp       | UNIX since Zilog Zeus 3.20
phk at FreeBSD.ORG         | TCP/IP since RFC 956
FreeBSD committer       | BSD since 4.3-tahoe    
Never attribute to malice what can adequately be explained by incompetence.

More information about the freebsd-current mailing list