Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 13 Sep 2020 22:30:34 +0100
From:      Charles Lecklider <freebsd-stable@lists.invis.net>
To:        freebsd-stable@freebsd.org
Subject:   Re: Cannot find announcement that min supported i386 CPU is now i686
Message-ID:  <934c2a63-d3b0-dafb-08cf-8572bb313d03@lists.invis.net>
In-Reply-To: <6bd2c4f6-5ce1-5a0d-14b3-71831a0443f4@grosbein.net>
References:  <4460db23-9a29-7972-1b41-74585764a5d7@lists.invis.net> <20200831205136.GA15141@elch.exwg.net> <2986c4ef-6e73-50f9-215e-20e8a9793434@lists.invis.net> <6bd2c4f6-5ce1-5a0d-14b3-71831a0443f4@grosbein.net>

next in thread | previous in thread | raw e-mail | index | archive | help
On 2020-09-01 03:20, Eugene Grosbein wrote:
> CPU: Geode(TM) Integrated Processor by AMD PCS (499.91-MHz 586-class CPU)
>   Origin="AuthenticAMD"  Id=0x5a2  Family=0x5  Model=0xa  Stepping=2
>   Features=0x88a93d<FPU,DE,PSE,TSC,MSR,CX8,SEP,PGE,CMOV,CLFLUSH,MMX>
>   AMD Features=0xc0400000<MMX+,3DNow!+,3DNow!>
> 
> Of course, its NanoBSD image is built with CPUTYPE=i586 as well as installed packages.

You've got CMOV so you'll be fine with 11.4-RELEASE, whereas I don't:

CPU: Pentium/P55C (232.68-MHz 586-class CPU)
  Origin="GenuineIntel"  Id=0x543  Family=0x5  Model=0x4  Stepping=3
  Features=0x8003bf<FPU,VME,DE,PSE,TSC,MSR,MCE,CX8,APIC,MMX>

Getting 11.4 to work has been a *major* undertaking:

Setting CPUTYPE in `make.conf` doesn't set -march for the kernel build
tools, so while you can compile world and kernel for i386, you can't
actually link it to create a working kernel on a real i586 (I found that
out with `/usr/obj` and `/usr/src` mounted over NFS).

clang is hypersensitive to command line arguments - if you just fiddle
with CFLAGS etc you'll get a duplicate -O2 and/or -march and that
results in a kernel/world that can't build itself (ZFS wedges).

You must set NO_CPU_CFLAGS= and then each of CFLAGS/CXXFLAGS/COPTFLAGS.

Don't try -Os or -Oz (which really do help on a real i586) - ZFS will
wedge quickly.

11.4 i386 doesn't honour `vfs.zfs.arc_max` in any meaningful way
resulting in one of the `find`s in periodic security wedging ZFS.

By ZFS wedging I mean something gets stuck on zio->i having eaten all of
kmem (I presume - on the real i586 I expect ~200M in ARC would do that
and that's what `top` shows) and that's it for the machine - it doesn't
panic, but there's no more disk IO either.
This also happens in VirtualBox with 4GB RAM, so it's not a hardware
problem.

To get 11.4 to behave itself (and it's only been 72 hours so still early
days) I've had to set:

options	KSTACK_PAGES=4

and

kern.maxvnode="1024"
vm.kmem_size="330M"
vm.kmem_size_max="330M"
vfs.zfs.arc_max="125M"
vfs.zfs.arc_meta_limit="16M"

I had to set kmem for 11.3 but not the rest.

TL;DR: I'd avoid 11.4 i386 as it doesn't appear to have been tested on
i486/i586 at all.

Unfortunately I'm not sure 12 is an option yet either - 12.0 chokes on
my SiI3124 SATA controllers, and I've yet to compile 12.1 to test
(RELEASE has the same problem as 11.4).

-C



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?934c2a63-d3b0-dafb-08cf-8572bb313d03>