From: Julien Grall <julien.grall@arm.com>
To: Stefano Stabellini <sstabellini@kernel.org>
Cc: Bhupinder Thakur <bhupinder.thakur@linaro.org>,
xen-devel@lists.xenproject.org,
Andre Przywara <andre.przywara@arm.com>
Subject: Re: [PATCH 04/17 v5] xen/arm: vpl011: Add SBSA UART emulation in Xen
Date: Fri, 23 Jun 2017 20:58:25 +0100 [thread overview]
Message-ID: <aa00dedc-2b9c-ab62-ac6f-ea94d3610e6d@arm.com> (raw)
In-Reply-To: <alpine.DEB.2.10.1706231123110.12819@sstabellini-ThinkPad-X260>
Hi,
On 06/23/2017 07:28 PM, Stefano Stabellini wrote:
> On Fri, 23 Jun 2017, Julien Grall wrote:
>> Hi Stefano,
>>
>> On 22/06/17 23:53, Stefano Stabellini wrote:
>>> On Thu, 22 Jun 2017, Bhupinder Thakur wrote:
>>>> +static void vpl011_write_data(struct domain *d, uint8_t data)
>>>> +{
>>>> + unsigned long flags;
>>>> + struct vpl011 *vpl011 = &d->arch.vpl011;
>>>> + struct xencons_interface *intf = vpl011->ring_buf;
>>>> + XENCONS_RING_IDX out_cons, out_prod;
>>>> +
>>>> + VPL011_LOCK(d, flags);
>>>> +
>>>> + out_cons = intf->out_cons;
>>>> + out_prod = intf->out_prod;
>>>> +
>>>> + smp_rmb();
>>>
>>> This should be
>>> smp_mb();
>>
>> To speed up discussion, it would have been nice to give a bit more details why
>> you think smp_rmb() is not enough.
>>
>> In this case, I think smp_rmb() is fine because all the write we care depends
>> on out_cons and out_prod. So the processor cannot re-order it.
>
> We discussed these barriers at length when I published the pvcalls and
> xen 9pfs protocols, see for example
> alpine.DEB.2.10.1612021318340.2777@sstabellini-ThinkPad-X260. Please
> refer to "Ring Usage" in docs/misc/9pfs.markdown and "Workflow" in
> docs/misc/pvcalls.markdown. I would like to keep them consistent across
> protocols (the console protocol works exactly like pvcalls and xen 9pfs
> in that respect).
None of the people involved in this series were CCed on this thread and
looking at docs/misc/9pfs.markdown or docs/misc/pvcalls.markdown to
check what barrier usage for all the PV protocols seem a bit odd...
Anyway, you should probably think of writing a common PV document to
avoid similar question in the future.
Cheers,
--
Julien Grall
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
https://lists.xen.org/xen-devel
next prev parent reply other threads:[~2017-06-23 19:58 UTC|newest]
Thread overview: 67+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-06-22 7:38 [PATCH 00/17 v5] SBSA UART emulation support in Xen Bhupinder Thakur
2017-06-22 7:38 ` [PATCH 01/17 v5] xen/arm: vpl011: Move vgic register access functions to vreg.h Bhupinder Thakur
2017-06-22 7:38 ` [PATCH 02/17 v5] xen/arm: vpl011: Rename vgic_reg* functions definitions and calls to vreg_reg* Bhupinder Thakur
2017-06-23 9:42 ` Julien Grall
2017-06-22 7:38 ` [PATCH 03/17 v5] xen/arm: vpl011: Define common ring buffer helper functions in console.h Bhupinder Thakur
2017-06-22 22:36 ` Stefano Stabellini
2017-06-28 17:16 ` Wei Liu
2017-06-22 7:38 ` [PATCH 04/17 v5] xen/arm: vpl011: Add SBSA UART emulation in Xen Bhupinder Thakur
2017-06-22 22:53 ` Stefano Stabellini
2017-06-23 12:33 ` Julien Grall
2017-06-23 18:28 ` Stefano Stabellini
2017-06-23 19:58 ` Julien Grall [this message]
2017-06-23 13:10 ` Julien Grall
2017-06-22 7:38 ` [PATCH 05/17 v5] xen/arm: vpl011: Allocate a new GFN in the toolstack for vuart Bhupinder Thakur
2017-06-22 7:38 ` [PATCH 06/17 v5] xen/arm: vpl011: Add support for vuart in libxl Bhupinder Thakur
2017-06-22 22:57 ` Stefano Stabellini
2017-06-28 17:16 ` Wei Liu
2017-06-22 7:38 ` [PATCH 07/17 v5] xen/arm: vpl011: Rearrange xen header includes in alphabetical order in domctl.c Bhupinder Thakur
2017-06-22 22:58 ` Stefano Stabellini
2017-06-23 13:14 ` Julien Grall
2017-06-22 7:38 ` [PATCH 08/17 v5] xen/arm: vpl011: Add a new domctl API to initialize vpl011 Bhupinder Thakur
2017-06-22 23:04 ` Stefano Stabellini
2017-06-23 13:17 ` Julien Grall
2017-06-23 13:25 ` Julien Grall
2017-06-23 17:57 ` Stefano Stabellini
2017-06-27 13:43 ` Bhupinder Thakur
2017-06-27 13:57 ` Julien Grall
2017-06-23 13:26 ` Julien Grall
2017-06-28 17:16 ` Wei Liu
2017-06-22 7:38 ` [PATCH 09/17 v5] xen/arm: vpl011: Add a new vuart node in the xenstore Bhupinder Thakur
2017-06-22 23:06 ` Stefano Stabellini
2017-06-28 17:16 ` Wei Liu
2017-06-22 7:38 ` [PATCH 10/17 v5] xen/arm: vpl011: Modify xenconsole to define and use a new console structure Bhupinder Thakur
2017-06-22 23:20 ` Stefano Stabellini
2017-06-28 17:16 ` Wei Liu
2017-06-22 7:38 ` [PATCH 11/17 v5] xen/arm: vpl011: Rename the console structure field conspath to xspath Bhupinder Thakur
2017-06-22 23:21 ` Stefano Stabellini
2017-06-28 17:16 ` Wei Liu
2017-06-22 7:38 ` [PATCH 12/17 v5] xen/arm: vpl011: Modify xenconsole functions to take console structure as input Bhupinder Thakur
2017-06-28 17:16 ` Wei Liu
2017-06-22 7:38 ` [PATCH 13/17 v5] xen/arm: vpl011: Modify xenconsole to support multiple consoles Bhupinder Thakur
2017-06-22 23:51 ` Stefano Stabellini
2017-06-28 17:16 ` Wei Liu
2017-07-07 13:52 ` Bhupinder Thakur
2017-07-07 14:00 ` Wei Liu
2017-07-07 14:19 ` Bhupinder Thakur
2017-07-07 14:23 ` Wei Liu
2017-06-22 7:38 ` [PATCH 14/17 v5] xen/arm: vpl011: Add support for vuart console in xenconsole Bhupinder Thakur
2017-06-23 0:02 ` Stefano Stabellini
2017-06-28 17:17 ` Wei Liu
2017-06-22 7:38 ` [PATCH 15/17 v5] xen/arm: vpl011: Add a new vuart console type to xenconsole client Bhupinder Thakur
2017-06-22 23:09 ` Stefano Stabellini
2017-06-28 17:17 ` Wei Liu
2017-06-29 9:33 ` Bhupinder Thakur
2017-06-29 10:11 ` Wei Liu
2017-06-22 7:38 ` [PATCH 16/17 v5] xen/arm: vpl011: Add a pl011 uart DT node in the guest device tree Bhupinder Thakur
2017-06-28 17:17 ` Wei Liu
2017-06-22 7:38 ` [PATCH 17/17 v5] xen/arm: vpl011: Update documentation for vuart console support Bhupinder Thakur
2017-06-23 10:42 ` [PATCH 00/17 v5] SBSA UART emulation support in Xen Julien Grall
2017-06-23 17:58 ` Stefano Stabellini
2017-07-04 7:31 ` Bhupinder Thakur
2017-07-05 8:36 ` Julien Grall
2017-07-05 19:06 ` Stefano Stabellini
2017-07-05 19:43 ` Julien Grall
2017-07-05 19:51 ` Julien Grall
2017-07-05 20:05 ` Stefano Stabellini
2017-07-05 20:18 ` Julien Grall
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=aa00dedc-2b9c-ab62-ac6f-ea94d3610e6d@arm.com \
--to=julien.grall@arm.com \
--cc=andre.przywara@arm.com \
--cc=bhupinder.thakur@linaro.org \
--cc=sstabellini@kernel.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).