svn commit: r368279 - head/sys/dev/nvme
Konstantin Belousov
kostikbel at gmail.com
Wed Dec 2 17:48:28 UTC 2020
On Wed, Dec 02, 2020 at 04:54:24PM +0000, Michal Meloun wrote:
> Author: mmel
> Date: Wed Dec 2 16:54:24 2020
> New Revision: 368279
> URL: https://svnweb.freebsd.org/changeset/base/368279
>
> Log:
> NVME: Multiple busdma related fixes.
...
> - in nvme_qpair_submit_tracker(), don't do explicit wmb() also for arm
> and arm64. Bus_dmamap_sync() on these architectures is sufficient to ensure
> that all CPU stores are visible to external (including DMA) observers.
> @@ -982,7 +982,7 @@ nvme_qpair_submit_tracker(struct nvme_qpair *qpair, st
>
> bus_dmamap_sync(qpair->dma_tag, qpair->queuemem_map,
> BUS_DMASYNC_PREREAD | BUS_DMASYNC_PREWRITE);
> -#ifndef __powerpc__
> +#if !defined( __powerpc__) && !defined( __aarch64__) && !defined( __arm__)
> /*
> * powerpc's bus_dmamap_sync() already includes a heavyweight sync, but
> * no other archs do.
Does anybody have any evidence that the wmb() below is useful ?
For instance, on x86, does nvme driver use any write-combining mappings ?
More information about the svn-src-all
mailing list