Messages in this thread Patch in this message | | | Date | Thu, 19 Apr 2018 20:35:57 +0300 | From | "Michael S. Tsirkin" <> | Subject | [PATCH] virtio_ring: switch to dma_XX barriers for rpmsg |
| |
virtio is using barriers to order memory accesses, thus dma_wmb/rmb is a good match.
Build-tested on x86: Before
[mst@tuck linux]$ size drivers/virtio/virtio_ring.o text data bss dec hex filename 11392 820 0 12212 2fb4 drivers/virtio/virtio_ring.o
After mst@tuck linux]$ size drivers/virtio/virtio_ring.o text data bss dec hex filename 11284 820 0 12104 2f48 drivers/virtio/virtio_ring.o
Cc: Ohad Ben-Cohen <ohad@wizery.com> Cc: Bjorn Andersson <bjorn.andersson@linaro.org> Cc: linux-remoteproc@vger.kernel.org Signed-off-by: Michael S. Tsirkin <mst@redhat.com> ---
It's good in theory, but could one of RPMSG maintainers please review and ack this patch? Or even better test it?
All these barriers are useless on Intel anyway ...
include/linux/virtio_ring.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/include/linux/virtio_ring.h b/include/linux/virtio_ring.h index bbf3252..fab0213 100644 --- a/include/linux/virtio_ring.h +++ b/include/linux/virtio_ring.h @@ -35,7 +35,7 @@ static inline void virtio_rmb(bool weak_barriers) if (weak_barriers) virt_rmb(); else - rmb(); + dma_rmb(); } static inline void virtio_wmb(bool weak_barriers) @@ -43,7 +43,7 @@ static inline void virtio_wmb(bool weak_barriers) if (weak_barriers) virt_wmb(); else - wmb(); + dma_wmb(); } static inline void virtio_store_mb(bool weak_barriers, -- MST
| |