xen-devel.lists.xenproject.org archive mirror
 help / color / mirror / Atom feed
From: Julien Grall <julien.grall@linaro.org>
To: Ian Campbell <Ian.Campbell@citrix.com>
Cc: stefano.stabellini@eu.citrix.com, tim@xen.org, xen-devel@lists.xen.org
Subject: Re: [PATCH v4 5/6] xen: arm: relax barriers in tlb flushes
Date: Thu, 03 Apr 2014 13:42:26 +0100	[thread overview]
Message-ID: <533D5732.1010609@linaro.org> (raw)
In-Reply-To: <1396527493.4211.89.camel@kazak.uk.xensource.com>

On 04/03/2014 01:18 PM, Ian Campbell wrote:
> On Thu, 2014-04-03 at 12:12 +0100, Julien Grall wrote:
>> On 04/03/2014 09:59 AM, Ian Campbell wrote:
>>> @@ -333,12 +333,12 @@ static inline void flush_xen_data_tlb_range_va(unsigned long va,
>>>                                                 unsigned long size)
>>>  {
>>>      unsigned long end = va + size;
>>> -    dsb(sy); /* Ensure preceding are visible */
>>> +    dsb(ish); /* Ensure preceding are visible */
>>
>> I'm a bit lost with ish/nsh/sy/... shall we keep sy here?
>> flush_xen_data_tlb is used in iounmap
> 
> Is it? I can't see it. I do see it in clear_fixmap though.

Sorry I though it was used by create_xen_entries... that made me think,
create_xen_entries should use flush_xen_data_tlb_range_va as the mapping
is common with the other CPUs.

>> and we want to make sure that
>> every write as been done just before.
> 
> The barrier here is to ensure that any writes to the page tables
> themselves are complete, not really to ensure that writes using those
> page tables are complete.
> 
> If users of this call have additional requirements to make sure other
> writes complete (which iounmap surely does) then I think they need to
> have their own barriers (or further punt this up to their callers).

Right, after looking to the code, write_pte has a dsb.

-- 
Julien Grall

  reply	other threads:[~2014-04-03 12:42 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-04-03  8:59 [PATCH v4 0/6 ] xen: arm: smp & tlb cleanups Ian Campbell
2014-04-03  8:59 ` [PATCH v4 1/6] xen: arm: clarify naming of the Xen TLB flushing functions Ian Campbell
2014-04-03  8:59 ` [PATCH v4 2/6] xen: arm: consolidate body of flush_xen_data_tlb_range_va_local Ian Campbell
2014-04-03 10:56   ` Julien Grall
2014-04-03  8:59 ` [PATCH v4 3/6] xen: arm: flush TLB on all CPUs when setting or clearing fixmaps Ian Campbell
2014-04-03 10:58   ` Julien Grall
2014-04-03  8:59 ` [PATCH v4 4/6] xen: arm32: don't force the compiler to allocate a dummy register Ian Campbell
2014-04-03  8:59 ` [PATCH v4 5/6] xen: arm: relax barriers in tlb flushes Ian Campbell
2014-04-03 11:12   ` Julien Grall
2014-04-03 12:18     ` Ian Campbell
2014-04-03 12:42       ` Julien Grall [this message]
2014-04-03  8:59 ` [PATCH v4 6/6] xen: arm: relax barriers when flushing caches Ian Campbell
2014-04-03 12:55   ` Tim Deegan
2014-04-03 13:00     ` Ian Campbell
2014-04-03 16:29 ` [PATCH v4 0/6 ] xen: arm: smp & tlb cleanups Ian Campbell

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=533D5732.1010609@linaro.org \
    --to=julien.grall@linaro.org \
    --cc=Ian.Campbell@citrix.com \
    --cc=stefano.stabellini@eu.citrix.com \
    --cc=tim@xen.org \
    --cc=xen-devel@lists.xen.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).