HomeFreeBSD

nvme: Add exclusion for ISR

Description

nvme: Add exclusion for ISR

Add a basically uncontended spinlock that we take out while the ISR is
running. This has two effects: First, when we get a timeout, we can
safely call the nvme_qpair_process_completions w/o racing any ISRs.
Second, we can use it to ensure that we don't reset the card while
the ISRs are active (right now we just sleep and hope for the best,
which usually is fine, but not always).

Sponsored by: Netflix
MFC After: 2 weeks
Reviewed by: chuck, gallatin
Differential Revision: https://reviews.freebsd.org/D41452

Details

Provenance
impAuthored on Aug 25 2023, 4:10 PM
Reviewer
chuck
Differential Revision
D41452: nvme: Add exclusion for ISR
Parents
rGd4959bfcd110: nvme: Greatly improve error recovery
Branches
Unknown
Tags
Unknown