https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=290237

--- Comment #1 from Jason A. Harmening <[email protected]> ---
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.

Reply via email to