Current-Users archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: Call for testing: New kernel heartbeat(9) checks
> Date: Fri, 7 Jul 2023 17:56:42 +0200
> From: Manuel Bouyer <bouyer%antioche.eu.org@localhost>
>
> On Fri, Jul 07, 2023 at 01:11:54PM +0000, Taylor R Campbell wrote:
> > - The magic numbers for debug.crashme.spl_spinout are for evbarm.
> > On x86, use IPL_SCHED=7, IPL_VM=6, and IPL_SOFTCLOCK=1.
Correction: IPL_SOFTCLOCK=2.
> > 1. cpuctl offline 0
> > sleep 20
> > cpuctl online 0
>
> With this I get a panic on Xen:
> [ 225.4605386] panic: kernel diagnostic assertion "kpreempt_disabled()" failed: file "/dsk/l1/misc/bouyer/HEAD/clean/src/sys/kern/kern_heartbeat.c", line 158
> [...]
> [ 53.5704682] panic: kernel diagnostic assertion "kpreempt_disabled()" failed: file "/dsk/l1/misc/bouyer/HEAD/clean/src/sys/kern/kern_heartbeat.c", line 158
This was a mistake that arose because I was testing on aarch64 where
kpreempt_disabled() is always true. Update and try again, please!
sys/kern/kern_heartbeat.c 1.2
sys/kern/subr_xcall.c 1.36
> > 4. sysctl -w debug.crashme_enable=1
> > sysctl -w debug.crashme.spl_spinout=1 # IPL_SOFTCLOCK
> > # verify system panics after 15sec
>
> my sysctl command did hang, but the system didn't panic
Right -- I made a mistake in my call for testing. On x86,
IPL_SOFTCLOCK is 2, not 1, which is IPL_PREEMPT, a special ipl that
doesn't apply here. So use this instead on x86:
sysctl -w debug.crashme.spl_spinout=2
(Not sure if it's different on Xen -- if it is, use whatever
IPL_SOFTCLOCK is there.)
> > 5. sysctl -w debug.crashme_enable=1
> > sysctl -w debug.crashme.spl_spinout=6 # IPL_SCHED
> > # verify system panics after 15sec
>
> This one did panic
Great!
> > 6. cpuctl offline 0
> > sysctl -w debug.crashme_enable=1
> > sysctl -w debug.crashme.spl_spinout=1 # IPL_SOFTCLOCK
> > # verify system panics after 15sec
>
> my sysctl command did hang, but the system didn't panic
Same as with (4), use 2 instead of 1 here (or whatever is the right
value on Xen).
> > 7. cpuctl offline 0
> > sysctl -w debug.crashme_enable=1
> > sysctl -w debug.crashme.spl_spinout=5 # IPL_VM
> > # verify system panics after 15sec
>
> and this one did panic
Great, thanks!
Home |
Main Index |
Thread Index |
Old Index