From: Andrew Cooper <andrew.cooper3@citrix.com>
To: Jan Beulich <jbeulich@suse.com>, julien.grall@linaro.org
Cc: keir@xen.org, ian.campbell@citrix.com, tim@xen.org,
manish.jaggi@caviumnetworks.com, ian.jackson@eu.citrix.com,
stefano.stabellini@citrix.com, xen-devel@lists.xenproject.org
Subject: Re: [PATCH for 4.6 03/13] xen: Introduce ACCESS_ONCE macro
Date: Wed, 17 Dec 2014 17:52:46 +0000 [thread overview]
Message-ID: <5491C2EE.4080603@citrix.com> (raw)
In-Reply-To: <5491B91802000078000C40B1@mail.emea.novell.com>
On 17/12/14 17:10, Jan Beulich wrote:
>>>> Julien Grall <julien.grall@linaro.org> 12/17/14 1:55 PM >>>
>> On 17/12/14 10:05, Jan Beulich wrote:
>>>>> On 16.12.14 at 21:08, <julien.grall@linaro.org> wrote:
>>>> +#define ACCESS_ONCE(x) (*(volatile typeof(x) *)&(x))
>>> Any reason not to simply use {read,write}_atomic() instead, which we
>>> already have?
>> To avoid modifying Linux drivers when it's not necessary and doesn't harm.
> I realize that's the motivation, but I also view it as problematic to have two
> different constructs doing the same thing. Defining the new one in terms of
> the existing ones doesn't seem possible (or else I would suggest that in
> order for the connection to be obvious). We'll see what other maintainers
> think...
Personally, I find the semantics of ACCESS_ONCE() more intuitive than
read/write_atomic(), and it is certainly more familiar to Linux developers.
Furthermore, ACCESS_ONCE() doesn't force an mov instruction if the
compiler can identify a better instruction to use.
There are only a handful of user users of read/write_atomic(). It would
not be hard to make a blanket switch, if we chose to go in that direction.
~Andrew
next prev parent reply other threads:[~2014-12-17 17:52 UTC|newest]
Thread overview: 41+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-12-16 20:08 [PATCH for 4.6 00/13] xen/arm: Resync the SMMU driver with the Linux one Julien Grall
2014-12-16 20:08 ` [PATCH for 4.6 01/13] xen/arm: gic-v2: Change the device name in DT_DEVICE_START Julien Grall
2014-12-16 20:08 ` [PATCH for 4.6 02/13] xen/arm: vgic: Drop unecessary include asm/device.h Julien Grall
2014-12-16 20:08 ` [PATCH for 4.6 03/13] xen: Introduce ACCESS_ONCE macro Julien Grall
2014-12-17 10:05 ` Jan Beulich
2014-12-17 12:54 ` Julien Grall
2014-12-17 17:10 ` Jan Beulich
2014-12-17 17:52 ` Andrew Cooper [this message]
2014-12-18 15:58 ` Julien Grall
2014-12-18 15:58 ` Julien Grall
2015-01-15 13:39 ` Julien Grall
2014-12-16 20:08 ` [PATCH for 4.6 04/13] xen/dt: Extend dt_device_match to possibly store data Julien Grall
2014-12-16 20:08 ` [PATCH for 4.6 05/13] xen/arm: device: Rename device_type into device_match Julien Grall
2014-12-16 20:08 ` [PATCH for 4.6 06/13] xen/iommu: arm: Remove temporary the SMMU driver Julien Grall
2014-12-16 20:08 ` [PATCH for 4.6 07/13] xen: Introduce a generic way to describe device Julien Grall
2014-12-17 10:16 ` Jan Beulich
2014-12-17 10:30 ` Julien Grall
2014-12-17 10:46 ` Jan Beulich
2014-12-17 13:03 ` Julien Grall
2014-12-17 17:17 ` Jan Beulich
2014-12-18 15:56 ` Julien Grall
2014-12-18 16:02 ` Jan Beulich
2014-12-18 16:07 ` Julien Grall
2014-12-18 1:12 ` Zhang, Yang Z
2014-12-18 8:52 ` Julien Grall
2014-12-16 20:08 ` [PATCH for 4.6 08/13] xen/iommu: Consolidate device assignment ops into a single set Julien Grall
2014-12-17 10:20 ` Jan Beulich
2014-12-16 20:08 ` [PATCH for 4.6 09/13] xen/arm: Describe device supported by a driver with dt_match_node Julien Grall
2014-12-16 20:08 ` [PATCH for 4.6 10/13] xen/iommu: arm: Import the SMMU driver from Linux Julien Grall
2014-12-16 20:08 ` [PATCH for 4.6 11/13] xen/iommu: smmu: Check for duplicate stream IDs when registering master devices Julien Grall
2014-12-16 20:08 ` [PATCH for 4.6 12/13] xen/iommu: smmu: Introduce automatic stream-id-masking Julien Grall
2014-12-16 20:08 ` [PATCH for 4.6 13/13] xen/iommu: smmu: Add Xen specific code to be able to use the driver Julien Grall
2015-02-18 1:02 ` Manish
2015-02-18 11:47 ` Julien Grall
2015-02-18 11:54 ` Julien Grall
2015-02-18 17:30 ` Jaggi, Manish
2015-02-18 18:22 ` Julien Grall
2015-02-19 2:55 ` Manish
2015-02-19 6:01 ` Julien Grall
2015-02-19 7:16 ` Manish
2015-02-19 10:34 ` Andrew Cooper
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=5491C2EE.4080603@citrix.com \
--to=andrew.cooper3@citrix.com \
--cc=ian.campbell@citrix.com \
--cc=ian.jackson@eu.citrix.com \
--cc=jbeulich@suse.com \
--cc=julien.grall@linaro.org \
--cc=keir@xen.org \
--cc=manish.jaggi@caviumnetworks.com \
--cc=stefano.stabellini@citrix.com \
--cc=tim@xen.org \
--cc=xen-devel@lists.xenproject.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.