[prev in list] [next in list] [prev in thread] [next in thread]
List: linux-s390
Subject: Re: [PATCH 3/3] virtio_pci: Use the DMA API
From: Joerg Roedel <jroedel () suse ! de>
Date: 2015-10-28 2:50:47
Message-ID: 20151028025047.GF18467 () suse ! de
[Download RAW message or body]
On Wed, Oct 28, 2015 at 11:22:52AM +0900, David Woodhouse wrote:
> On Wed, 2015-10-28 at 11:15 +0900, Joerg Roedel wrote:
> > I think a good test for that is to boot a virtio kvm-guest with
> > swiotlb=force and see if it still works.
>
> That's useful but doesn't cover the cases where dma_wmb() is needed,
> right?
>
> We should make sure we're handling descriptors properly as we would for
> real hardware, and ensuring that addresses etc. are written to the
> descriptor (and a write barrier occurs) *before* the bit is set which
> tells the 'hardware' that it owns that descriptor.
Hmm, good question. The virtio code has virtio_rmb/wmb and should
already call it in the right places.
The virtio-barriers default to rmb()/wmb() unless weak_barriers is set,
in which case it calls dma_rmb()/wmb(), just a compiler barrier on x86.
And weak_barriers is set by the virtio drivers when creating the queue,
and the drivers should know what they are doing. Saying this, I think
the virtio-drivers should already get this right.
Joerg
--
To unsubscribe from this list: send the line "unsubscribe linux-s390" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic