HomeFreeBSD

Allow swi_sched() to be called from NMI context.

Description

Allow swi_sched() to be called from NMI context.

For purposes of handling hardware error reported via NMIs I need a way to
escape NMI context, being too restrictive to do something significant.

To do it this change introduces new swi_sched() flag SWI_FROMNMI, making
it careful about used KPIs. On platforms allowing IPI sending from NMI
context (x86 for now) it immediately wakes clk_intr_event via new IPI_SWI,
otherwise it works just like SWI_DELAY. To handle the delayed SWIs this
patch calls clk_intr_event on every hardclock() tick.

MFC after: 2 weeks
Sponsored by: iXsystems, Inc.
Differential Revision: https://reviews.freebsd.org/D25754

Details

Provenance
mavAuthored on Jul 25 2020, 3:19 PM
Parents
rG3024e8af1eba: Move Intel GAS to dev/iommu/ as now a part of generic iommu framework.
Branches
Unknown
Tags
Unknown