Re: VCPUOP_send_nmi returns -38
- In reply to: Andriy Gapon : "VCPUOP_send_nmi returns -38"
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Tue, 11 Jan 2022 10:18:41 UTC
On Tue, Jan 11, 2022 at 11:50:53AM +0200, Andriy Gapon wrote: > > Recently I got a report of crashes related to using procstat -k on one of > our systems. The system runs FreeBSD 12.2 on an AWS Xen-based instance (can > get more specifics about it later). > > It immediately reminded me of an older issue (Subject: Xen (HVM) and NMI) > where the root cause was that NMIs were delivered as regular interrupts. > But 12.2 has the newer code that delivers NMIs as NMIs. > > After some investigation it became evident that NMIs are not delivered at all. > I modified send_nmi() in sys/x86/xen/xen_apic.c to capture and report errors > from HYPERVISOR_vcpu_op(VCPUOP_send_nmi) calls. > That revealed that the call returns -38 which appears to mean ENOSYS. > > I am not sure what that could mean. > Perhaps NMI is somehow disabled in the Xen configuration (for that specific > instance type)? It's not something that you can easily disable at build time, but it's possible AWS has done some modifications to the hypervisor in order to disable it. Do you know which instance type and hypervisor version it's running on? Thanks, Roger.