[Bug 283189] Sporadic NVMe DMAR faults since updating to 14.2-STABLE

From: <bugzilla-noreply_at_freebsd.org>
Date: Tue, 01 Apr 2025 21:40:43 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=283189

--- Comment #4 from Konstantin Belousov <kib@FreeBSD.org> ---
Sorry for the delay.

My first question is, what are the small writes to the nvme devices, at all?
If it is filesystem write, it must be of the DEV_BSIZE (512) size at least.

Then, indeed DMAR spec allows for the non-coherent page tables walks from
the iommu, see DMAR_ECAP_C bit in the ecap register.  It would be useful
to see the cap/ecap reports from the driver.

Another potential issue might be a missed IOTLB invalidation command, or some
bug with the invalidation command.  The reason to theorize about it is that
the issue happens only after relatively long uptime, where it is possible that
we wrap around the guest address space allocation, and then it might be that
stale IOTLB entry is not flushed.  But this is unlikely IMO.

Did you matched the bus (GAS) address for PRP1 against the address from the
DMAR fault reports?

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