Port-xen archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: Question about strange panic with NetBSD-domu versus FreeBSD dom0.



On Mon, Oct 09, 2023 at 08:53:59PM -0700, Brian Buhrow wrote:
> 	hello.  I have a NetBSD domu, NetbSD-99.77 from sources of January 2021, running under
> FreeBSD-13.1, Xen-4.16.0on an AMD64 server that's been running without an issue for a year and
> 4 months.  Last week, it started panicing with the following message:
> 
> [ 73069.0789801] panic: kernel diagnostic assertion "x86_read_psl() == 0" failed: file "/usr/local/netbsd/src-current/sys/arch/x86/x86/pmap.c", line 3509 
> 
> 	Now, this particular domu panics multiple times a day with no software or hardware change,
> always in the same spot in x86/x86/pmap.c.  Interestingly enough, I have other servers running
> this exact same combination of software, with a number of domus, all running this same build of
> NetBSD, that don't exhibit this behavior at all.
> 
> 	My question is, is this a hardware issue, an issue with the xen hypervisor, with
> FreeBSD-13.1 as dom0, or with the domu NetBSD?  As an additional data point, I'm running an old
> NetBSD-5.2 domu on this system as well, and it doesn't exhibit this behavior, but I attribute
> that to the fact that it doesn't perform the x86_read_psl() call when configured as a domu.  
> What does the x86_read_psl() call do?  It looks like a register read, but I can't find the
> function in the source tree to read it.

for PV, x86_read_psl() is an alias to xen_read_psl().
It returns curcpu()->ci_vcpu->evtchn_upcall_mask

It returns 0 when interrups are enabled, > 0 (probably 1) when interrups
are disabled.

This would mean that pmap_load() is called with interrupts disabled, 
and I can't see how this could happen in the stack trace you posted.

It would mean that we returned to userland with interrupts disabled
but I think this is checked too.

You could add more KASSERT(x86_read_psl() == 0) in the path to try to see
at wich point interruts could be disabled.

-- 
Manuel Bouyer <bouyer%antioche.eu.org@localhost>
     NetBSD: 26 ans d'experience feront toujours la difference
--


Home | Main Index | Thread Index | Old Index