All of lore.kernel.org
 help / color / mirror / Atom feed
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Leif Lindholm <leif.lindholm@linaro.org>
Cc: julien.grall@citrix.com, stefano.stabellini@eu.citrix.com,
	tim@xen.org, xen-devel@lists.xen.org
Subject: Re: [PATCH 01/10] xen: arm: map memory as inner shareable.
Date: Tue, 2 Jul 2013 15:26:21 +0100	[thread overview]
Message-ID: <1372775181.27768.127.camel@zakaz.uk.xensource.com> (raw)
In-Reply-To: <20130702140919.GE18151@rocoto.smurfnet.nu>

On Tue, 2013-07-02 at 16:09 +0200, Leif Lindholm wrote:
> On Fri, Jun 28, 2013 at 05:10:47PM +0100, Ian Campbell wrote:
> > The inner shareable domain contains all SMP processors, including different
> > clusters (e.g. big.LITTLE). Therefore this is the correct thing to use for Xen
> > memory mappings. The outer shareable domain is for devices on busses which are
> > barriers (e.g. AMBA4).
> 
> I think this should say something like "which are coherent and
> barrier-aware".
> 
> And to be technically correct, the example should say "AMBA4 AXI with
> ACE").
> 
> > While the system domain is for things behind bridges > which do not.
>  
> And given the above ... -> which "are" not.
> 
> > One wrinkle is that Normal memory with attributes Inner Non-cacheable, Outer
> > Non-cacheable (which we call BUFFERABLE) must be mapped Outer Shareable on ARM
> > v7. Therefore change the prototype of mfn_to_xen_entry to take the attribute
> > index so we can DTRT. On ARMv8 the sharability is ignored and considered to
> > always be Outer Shareable.
> > 
> > While I'm here change all the dmb/dsb with an implicit sy to an explicit sy,
> > to make future changes simpler. Other than that don't adjust the barriers,
> > flushes etc, those remain as they were (which is more than is now required).
> > I'll change those in a later patch.
> > 
> > Many thanks to Leif for explaining the difference between Inner- and
> > Outer-Shareable in words of two or less syllables, I hope I've replicated that
> > explanation properly above!
>  
> Apart from my usual nitpicking, indeed :)

Thanks, I was sure I was playing a bit fast and loose with the
specifics!

> [...]
> > +    switch ( attr )
> > +    {
> > +    case BUFFERABLE:
> > +        /*
> > +         * ARM ARM: Overlaying the shareability attribute (B3-1376 to 1377)
> 
> It would be worth to indicate the revision of the ARM ARM here (in this
> instance DDI 0406C.b).

Good idea, thanks.

Ian.

  reply	other threads:[~2013-07-02 14:26 UTC|newest]

Thread overview: 44+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-06-28 16:10 [PATCH 00/10] xen: arm: map normal memory as inner shareable, reduce scope of various barriers Ian Campbell
2013-06-28 16:10 ` [PATCH 01/10] xen: arm: map memory as inner shareable Ian Campbell
2013-07-01 15:39   ` Stefano Stabellini
2013-07-01 15:42     ` Ian Campbell
2013-07-02 14:09   ` Leif Lindholm
2013-07-02 14:26     ` Ian Campbell [this message]
2013-07-04 10:58   ` Tim Deegan
2013-07-04 11:03     ` Ian Campbell
2013-06-28 16:10 ` [PATCH 02/10] xen: arm: Only upgrade guest barriers to " Ian Campbell
2013-07-01 15:24   ` Stefano Stabellini
2013-07-04 10:58   ` Tim Deegan
2013-06-28 16:10 ` [PATCH 03/10] xen: arm: reduce instruction cache and tlb flushes to inner-shareable Ian Campbell
2013-07-01 15:25   ` Stefano Stabellini
2013-07-04 11:07   ` Tim Deegan
2013-07-04 11:19     ` Tim Deegan
2013-07-04 11:21       ` Tim Deegan
2013-06-28 16:10 ` [PATCH 04/10] xen: arm: consolidate barrier definitions Ian Campbell
2013-07-01 15:25   ` Stefano Stabellini
2013-07-04 11:07   ` Tim Deegan
2013-06-28 16:10 ` [PATCH 05/10] xen: use SMP barrier in common code dealing with shared memory protocols Ian Campbell
2013-06-28 16:15   ` Ian Campbell
2013-06-28 16:20   ` Keir Fraser
2013-07-04 11:26   ` Tim Deegan
2013-06-28 16:10 ` [PATCH 06/10] xen: arm: Use SMP barriers when that is all which is required Ian Campbell
2013-07-01 15:19   ` Stefano Stabellini
2013-07-01 15:24     ` Ian Campbell
2013-07-04 11:30       ` Tim Deegan
2013-06-28 16:10 ` [PATCH 07/10] xen: arm: Use dmb for smp barriers Ian Campbell
2013-07-01 15:20   ` Stefano Stabellini
2013-07-04 11:31   ` Tim Deegan
2013-06-28 16:10 ` [PATCH 08/10] xen: arm: add scope to dsb and dmb macros Ian Campbell
2013-07-01 15:21   ` Stefano Stabellini
2013-07-01 15:22     ` Stefano Stabellini
2013-07-04 11:44   ` (no subject) Tim Deegan
2013-06-28 16:10 ` [PATCH 09/10] xen: arm: weaken SMP barriers to inner shareable Ian Campbell
2013-07-01 15:21   ` Stefano Stabellini
2013-07-01 15:22     ` Stefano Stabellini
2013-07-04 11:35   ` Tim Deegan
2013-06-28 16:10 ` [PATCH 10/10] xen: arm: use more specific barriers for read and write barriers Ian Campbell
2013-07-01 15:22   ` Stefano Stabellini
2013-07-04 11:42   ` Tim Deegan
2013-07-04 11:46     ` Ian Campbell
2013-06-28 16:11 ` [PATCH 00/10] xen: arm: map normal memory as inner shareable, reduce scope of various barriers Ian Campbell
2013-07-04 11:32 (no subject) Tim Deegan

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=1372775181.27768.127.camel@zakaz.uk.xensource.com \
    --to=ian.campbell@citrix.com \
    --cc=julien.grall@citrix.com \
    --cc=leif.lindholm@linaro.org \
    --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 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.