Re: [PATCH v2 32/32] virtio_ring: use virt_store_mb

From: Michael S. Tsirkin
Date: Sun Jan 03 2016 - 04:01:24 EST


On Fri, Jan 01, 2016 at 08:23:46PM +0300, Sergei Shtylyov wrote:
> Hello.
>
> On 12/31/2015 10:09 PM, Michael S. Tsirkin wrote:
>
> >We need a full barrier after writing out event index, using
> >virt_store_mb there seems better than open-coding. As usual, we need a
> >wrapper to account for strong barriers.
> >
> >It's tempting to use this in vhost as well, for that, we'll
> >need a variant of smp_store_mb that works on __user pointers.
> >
> >Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
> >---
> > include/linux/virtio_ring.h | 12 ++++++++++++
> > drivers/virtio/virtio_ring.c | 15 +++++++++------
> > 2 files changed, 21 insertions(+), 6 deletions(-)
> >
> >diff --git a/include/linux/virtio_ring.h b/include/linux/virtio_ring.h
> >index f3fa55b..3a74d91 100644
> >--- a/include/linux/virtio_ring.h
> >+++ b/include/linux/virtio_ring.h
> >@@ -45,6 +45,18 @@ static inline void virtio_wmb(bool weak_barriers)
> > wmb();
> > }
> >
> >+static inline void virtio_store_mb(bool weak_barriers,
> >+ __virtio16 *p, __virtio16 v)
> >+{
> >+ if (weak_barriers)
> >+ virt_store_mb(*p, v);
> >+ else
> >+ {
>
> The kernel coding style dictates:
>
> if (weak_barriers) {
> virt_store_mb(*p, v);
> } else {
>
> >+ WRITE_ONCE(*p, v);
> >+ mb();
> >+ }
> >+}
> >+
> [...]
>
> MBR, Sergei

Will fix, thanks!
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/