Today I've made my own small contribution to ensuring the FreeBSD yak is
completely smooth and stubble free.
I noticed a couple of days ago that a custom kernel build of 10-STABLE was
failing and today tracked down which line (out of 54) in my local kernel
config was causing it (nooptions SMP) and which revision (r303776)
introduced the problem, which involved building the odd kernel or ten (not
to mention a couple of buildworlds) on a box very unsuited to any hard work.
I then realised I have some very minor make.conf optimisations - nothing
that would cause a problem, but it's not fair to raise a PR with more
variables than is strictly necessary, so another build to be certain.
All to achieve... well, not much really. While it should be possible
to build a kernel without SMP, there can't be many people who might
benefit from it today.
And that doesn't include me.
The reason I have 50-odd lines of no[makeoptions|options|device] in this
kernel conf is due to noticing I had 800MB allocated to wired memory (that
is, non-swapable memory, usually kernel related) on a box with only 1GB of
memory. It turned out that by madly chopping irrelevant bits out of the
kernel I could gain a massive 10 or 20MB back. What *really* made a
difference was adding kern.maxusers="64" to /boot/loader.conf (and possibly
also kern.maxfiles="25000" which I seem to have added at about the same
time). It appears that sometime in the recentish past the metric used to
auto-set these values started making much more generous use of hardware than
was appropriate for my archaic kit. I now have 127MB wired and a massive 8MB
active memory in use and, well, the lack of SMP code really isn't doing
anything exciting.
Or in other words, I just spent a day tracing a problem that I no longer
have.
But, out of a noble interest in my fellow users (who may even reach double
figures) who are also building non-SMP kernels for their own perverse
reasons, I've just raised a PR for this.
Glyn.
(Of course, it's entirely possible that it's some other long forgotten
abomination of my configuration that's causing this, but that's what
happens when you're dealing with yaks).