freebsd-dev/sys/dev/nvme
Warner Losh 8052b01e7e 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
2023-08-25 10:11:27 -06:00
..
nvme_ahci.c sys: Remove $FreeBSD$: one-line .c pattern 2023-08-16 11:54:36 -06:00
nvme_ctrlr_cmd.c sys: Remove $FreeBSD$: one-line .c pattern 2023-08-16 11:54:36 -06:00
nvme_ctrlr.c nvme: Add exclusion for ISR 2023-08-25 10:11:27 -06:00
nvme_ns_cmd.c sys: Remove $FreeBSD$: one-line .c pattern 2023-08-16 11:54:36 -06:00
nvme_ns.c sys: Remove $FreeBSD$: one-line .c pattern 2023-08-16 11:54:36 -06:00
nvme_pci.c sys: Remove $FreeBSD$: one-line .c pattern 2023-08-16 11:54:36 -06:00
nvme_private.h nvme: Add exclusion for ISR 2023-08-25 10:11:27 -06:00
nvme_qpair.c nvme: Add exclusion for ISR 2023-08-25 10:11:27 -06:00
nvme_sim.c sys: Remove $FreeBSD$: one-line .c pattern 2023-08-16 11:54:36 -06:00
nvme_sysctl.c nvme: Add exclusion for ISR 2023-08-25 10:11:27 -06:00
nvme_test.c sys: Remove $FreeBSD$: one-line .c pattern 2023-08-16 11:54:36 -06:00
nvme_util.c sys: Remove $FreeBSD$: one-line .c pattern 2023-08-16 11:54:36 -06:00
nvme.c sys: Remove $FreeBSD$: one-line .c pattern 2023-08-16 11:54:36 -06:00
nvme.h sys: Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:11 -06:00