]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/commit
nvme(4): Add bus_dmamap_sync() at the end of the request path
authorJustin Hibbits <jhibbits@FreeBSD.org>
Fri, 3 Aug 2018 20:04:06 +0000 (20:04 +0000)
committerJustin Hibbits <jhibbits@FreeBSD.org>
Fri, 3 Aug 2018 20:04:06 +0000 (20:04 +0000)
commit2e0090af65c66d3d4f1e390bee6e326b699aab4e
treee3e6171664c9d3954a34ad82b1836b8298be7854
parentbc0d7285f932a00200674e6a1b6c08831966a0d0
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
sys/dev/nvme/nvme_qpair.c