Date: Sun, 14 Apr 2024 17:05:56 +0200 From: tuexen@freebsd.org To: John F Carr <jfc@mit.edu> Cc: freebsd-arm <freebsd-arm@freebsd.org> Subject: Re: Loading vmm Message-ID: <987CD248-9FFD-46C2-A801-7C78A009D147@freebsd.org> In-Reply-To: <08796868-9E24-4BFE-AE96-F8B4A7FB6C0A@mit.edu> References: <760D76E5-F2D5-4D0D-9CDC-A42D3335C9DA@freebsd.org> <08796868-9E24-4BFE-AE96-F8B4A7FB6C0A@mit.edu>
next in thread | previous in thread | raw e-mail | index | archive | help
> On 14. Apr 2024, at 14:17, John F Carr <jfc@mit.edu> wrote: >=20 > See bug https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D277559. = It was suspected to be specific to the heterogenous Rockchip RK3399 but = perhaps it is more widespread. >=20 > When I first hit the bug there was a 30-50% chance that the first = kldload vmm would hang the system so hard I couldn't even invoke the = debugger with break on a serial console. Later, with no relevant = changes to source code, it would take about 2,000 load/unload pairs to = hang the system. If that 1-in-2000 chance is typical this bug could = affect all systems. Give it a try on your 128 core system: >=20 > # while kldload vmm ; do echo -n . ; kldunload vmm ; done I tried 70000 times on the 128 core system: No problem. On the 32 core system the problem occurs every time I call kldload vmm. Tried 5 times, happened 5 times. =46rom my point of view, the behavior is deterministic on both systems. Best regards Michael >=20 > If anybody can tell me how to debug at the hardware level using JTAG, = I can give it a try on my RockPro64 and see where the kernel is stuck. = I have used hardware level debugging tools, but they were always black = boxes my employer bought with instructions included. >=20 >> On Apr 14, 2024, at 04:50, tuexen@freebsd.org wrote: >>=20 >> Dear all, >>=20 >> using the sources for kernel/world of yesterday running >> kldload vmm >> on a 128 core Ampere system runs just fine: >>=20 >> CPU 0: ARM Neoverse-N1 r3p1 affinity: 18 0 0 >> Cache Type =3D <64 byte D-cacheline,64 byte = I-cacheline,PIPT ICache,64 byte ERG,64 byte CWG,IDC> >> Instruction Set Attributes 0 =3D = <DP,RDM,Atomic,CRC32,SHA2,SHA1,AES+PMULL> >> Instruction Set Attributes 1 =3D <RCPC-8.3,DCPoP> >> Instruction Set Attributes 2 =3D <> >> Processor Features 0 =3D = <CSV3,CSV2,RAS,GIC,AdvSIMD+HP,FP+HP,EL3,EL2,EL1,EL0 32> >> Processor Features 1 =3D <PSTATE.SSBS MSR> >> Memory Model Features 0 =3D = <TGran4,TGran64,TGran16,SNSMem,BigEnd,16bit ASID,256TB PA> >> Memory Model Features 1 =3D <XNX,PAN+ATS1E1,LO,HPD+TTPBHA,VH,16bit = VMID,HAF+DS> >> Memory Model Features 2 =3D <EVT-8.2,32bit CCIDX,48bit VA,UAO,CnP> >> Debug Features 0 =3D <DoubleLock,SPE,2 CTX BKPTs,4 = Watchpoints,6 Breakpoints,PMUv3p1,Debugv8p2> >> Debug Features 1 =3D <> >> Auxiliary Features 0 =3D <> >> Auxiliary Features 1 =3D <> >> AArch32 Instruction Set Attributes 5 =3D = <RDM,CRC32,SHA2,SHA1,AES+VMULL,SEVL> >> AArch32 Media and VFP Features 0 =3D <FPRound,FPSqrt,FPDivide,DP = VFPv3+v4,SP VFPv3+v4,AdvSIMD> >> AArch32 Media and VFP Features 1 =3D <SIMDFMAC,FPHP Arith,SIMDHP = Arith,SIMDSP,SIMDInt,SIMDLS,FPDNaN,FPFtZ> >>=20 >> However, doing the same on a 32 core Ampere system results in >> the system becoming unresponsive. No reaction on the console, >> no message there, no response over the network. >>=20 >> CPU 0: APM eMAG 8180 r3p2 affinity: 0 0 >> Cache Type =3D <64 byte D-cacheline,64 byte = I-cacheline,PIPT ICache,64 byte ERG,64 byte CWG> >> Instruction Set Attributes 0 =3D <CRC32,SHA2,SHA1,AES+PMULL> >> Instruction Set Attributes 1 =3D <> >> Instruction Set Attributes 2 =3D <> >> Processor Features 0 =3D <GIC,AdvSIMD,FP,EL3,EL2,EL1 32,EL0 32> >> Processor Features 1 =3D <> >> Memory Model Features 0 =3D = <TGran4,TGran64,TGran16,SNSMem,BigEnd,16bit ASID,4TB PA> >> Memory Model Features 1 =3D <8bit VMID> >> Trying to mount root from ufs:/dev/ada0p2 [rw]... >> Memory Model Features 2 =3D <32bit CCIDX,48bit VA> >> Debug Features 0 =3D <DoubleLock,2 CTX BKPTs,4 Watchpoints,6 = Breakpoints,PMUv3,Debugv8> >> Debug Features 1 =3D <> >> Auxiliary Features 0 =3D <> >> Auxiliary Features 1 =3D <> >> AArch32 Instruction Set Attributes 5 =3D = <CRC32,SHA2,SHA1,AES+VMULL,SEVL> >> AArch32 Media and VFP Features 0 =3D <FPRound,FPSqrt,FPDivide,DP = VFPv3+v4,SP VFPv3+v4,AdvSIMD> >> AArch32 Media and VFP Features 1 =3D <SIMDFMAC,FPHP DP Conv,SIMDHP SP = Conv,SIMDSP,SIMDInt,SIMDLS,FPDNaN,FPFtZ> >>=20 >> Any idea, what is going wrong? >>=20 >> Best regards >> Michael >=20 >=20
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?987CD248-9FFD-46C2-A801-7C78A009D147>