[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20161124222357-mutt-send-email-mst@kernel.org>
Date: Thu, 24 Nov 2016 22:36:58 +0200
From: "Michael S. Tsirkin" <mst@...hat.com>
To: Mark Rutland <mark.rutland@....com>
Cc: linux-kernel@...r.kernel.org, dave@...olabs.net, dbueso@...e.de,
dvyukov@...gle.com, jasowang@...hat.com, kvm@...r.kernel.org,
netdev@...r.kernel.org, paulmck@...ux.vnet.ibm.com,
virtualization@...ts.linux-foundation.org
Subject: Re: [PATCH 0/3] virtio/vringh: kill off ACCESS_ONCE()
On Thu, Nov 24, 2016 at 10:25:11AM +0000, Mark Rutland wrote:
> For several reasons, it would be beneficial to kill off ACCESS_ONCE()
> tree-wide, in favour of {READ,WRITE}_ONCE(). These work with aggregate types,
> more obviously document their intended behaviour, and are necessary for tools
> like KTSAN to work correctly (as otherwise reads and writes cannot be
> instrumented separately).
>
> While it's possible to script the bulk of this tree-wide conversion, some cases
> such as the virtio code, require some manual intervention. This series moves
> the virtio and vringh code over to {READ,WRITE}_ONCE(), in the process fixing a
> bug in the virtio headers.
>
> Thanks,
> Mark.
I don't have a problem with this specific patchset.
Though I really question the whole _ONCE APIs esp with
aggregate types - these seem to generate a memcpy and
an 8-byte read/writes sometimes, and I'm pretty sure this simply
can't be read/written at once on all architectures.
So I worry it's kind of like volatile in this respect,
too easy to overuse.
> Mark Rutland (3):
> tools/virtio: fix READ_ONCE()
> vringh: kill off ACCESS_ONCE()
> tools/virtio: use {READ,WRITE}_ONCE() in uaccess.h
>
> drivers/vhost/vringh.c | 5 +++--
> tools/virtio/linux/compiler.h | 2 +-
> tools/virtio/linux/uaccess.h | 9 +++++----
> 3 files changed, 9 insertions(+), 7 deletions(-)
>
> --
> 2.7.4
Powered by blists - more mailing lists