[Bug 290237] nvme panic during stress2 testing

From: <bugzilla-noreply_at_freebsd.org>
Date: Tue, 14 Oct 2025 23:25:16 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=290237

--- Comment #1 from Jason A. Harmening <jah@FreeBSD.org> ---
If nvme can't tolerate EINPROGRESS from bus_dmamap_load_mem (IOW if it really
need to pass BUS_DMA_NOWAIT), then I suspect some failure would be expected in
this scenario.

Given the memory pressure these stress2 tests place on the system, if I had to
guess I would say that busdma probably returned EINPROGRESS here not because it
failed to allocate mapping space in the IOMMU GAS, but rather because one of
the M_NOWAIT mallocs (e.g. the page array malloc in
iommu_bus_dmamap_load_buffer()) failed.  There doesn't seem to be any provision
for avoiding these allocations or e.g. using M_USE_RESERVE if the IOMMU mapping
in question happens to be necessary for the paging path.

-- 
You are receiving this mail because:
You are the assignee for the bug.