HomeFreeBSD

nvme(4): Add bus_dmamap_sync() at the end of the request path

Description

nvme(4): Add bus_dmamap_sync() at the end of the request path

Summary:
Some architectures, in this case powerpc64, need explicit synchronization
barriers vs device accesses.

Prior to this change, when running 'make buildworld -j72' on a 18-core
(72-thread) POWER9, I would see controller resets often. With this change, I
don't see these resets messages, though another tester still does, for yet to be
determined reasons, so this may not be a complete fix. Additionally, I see a
~5-10% speed up in buildworld times, likely due to not needing to reset the
controller.

Reviewed By: jimharris
Differential Revision: https://reviews.freebsd.org/D16570

Details

Provenance
jhibbitsAuthored on
Reviewer
jimharris
Differential Revision
D16570: nvme(4): Add bus_dmamap_sync() at the end of the request path
Parents
rS337272: Fix some filemon path logging issues.
Branches
Unknown
Tags
Unknown