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.
