All of lore.kernel.org
 help / color / mirror / Atom feed
From: Ian Campbell <ian.campbell@citrix.com>
To: Shannon Zhao <shannon.zhao@linaro.org>,
	Jan Beulich <JBeulich@suse.com>,
	Shannon Zhao <zhaoshenglong@huawei.com>
Cc: Hangaohuai <hangaohuai@huawei.com>,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>,
	andrew@fubar.geek.nz,
	"Huangpeng (Peter)" <peter.huangpeng@huawei.com>,
	Julien Grall <julien.grall@citrix.com>,
	Stefano Stabellini <stefano.stabellini@citrix.com>,
	David Vrabel <david.vrabel@citrix.com>,
	BorisOstrovsky <boris.ostrovsky@oracle.com>,
	xen-devel <xen-devel@lists.xen.org>,
	Parth Dixit <parth.dixit@linaro.org>,
	Christoffer Dall <christoffer.dall@linaro.org>,
	RogerPauMonne <roger.pau@citrix.com>
Subject: Re: Design doc of adding ACPI support for arm64 on Xen - version 5
Date: Wed, 2 Sep 2015 15:24:16 +0100	[thread overview]
Message-ID: <1441203856.26292.214.camel@citrix.com> (raw)
In-Reply-To: <55E700C5.2020306@linaro.org>

On Wed, 2015-09-02 at 21:59 +0800, Shannon Zhao wrote:
> Hi Ian,
> 
> On 2015/9/2 20:54, Ian Campbell wrote:
> > On Mon, 2015-08-31 at 03:40 -0600, Jan Beulich wrote:
> > > > d) Copy MADT table
> > > > > > > > It needs to change MADT table to restrict the number of 
> > > > > > > > vCPUs.
> > > > > > > > We choose
> > > > > > > > to copy the first dom0_max_vcpus GICC entries of MADT to 
> > > > > > > > new
> > > > > > > > created
> > > > > > > > MADT table when numa is not supported currently.
> > > > > > > 
> > > > > > > Copy means you imply to have an original?
> > > > > > 
> > > > > > So I'll change it to "create".
> > > > > > 
> > > > > > > What if dom0_max_vcpus
> > > > > > > is larger than the physical CPU count?
> > > > > > 
> > > > > > I think it only needs to care the cpu_interface_number, uid and
> > > > > > mpidr
> > > > > > field of GICC entry and other fields could be same with the 
> > > > > > host
> > > > > > GICC
> > > > > > entry. It could get the mpidr from the vCPU index.
> > > > > 
> > > > > You again suggest to use data from host entries, i.e. you leave
> > > > > incompletely addressed the original question: "What source of
> > > > > information do you intend to use when the Dom0's vCPU count is
> > > > > higher than the host's pCPU count?"
> > > > > 
> > > > 
> > > > There are only the cpu_interface_number, uid and mpidr which need 
> > > > to
> > > > change. Other fields could copy from any one of the GICC entries 
> > > > from
> > > > host MADT table.
> > > 
> > > Hmm, okay, if _any one_ is indeed fine, then okay. But then please
> > > change to wording in your document to make this explicit (and to also
> > > make explicit that you consider this an okay thing to do in the first
> > > place, just to catch others' attention to double check it really is).
> > 
> > In the DT world we completely ignore the host /cpus/* nodes when 
> > creating
> > dom0's /cpus/ and instead create our own directly. It would seem 
> > logical to
> > me to do the same for the MADR in ACPI world as well.
> > 
> > Above the cpu_interface_number, uid and mpidr are called out as things 
> > we
> > we know how to create/determine ourselves.
> > 
> > For the other fields you propose copying from a host entry in the MADT, 
> > but
> > it would be better where possible to create our own. Looking at ACPI 
> > 6.0 I
> > see for the MADT table and the various ARM related structures I'm not
> > immediately seeing any fields which Xen shouldn't be able to decide for
> > itself.
> > 
> > When creating the node we may of course be relying on things (such as d
> > ->arch.vgic or maybe in some small cases gic_hw_ops) which are 
> > initialised
> > (elsewhere) by values from the host, but form the PoV of creating the 
> > MADT
> > this is abstracted away.
> > 
> > So to give some examples:
> > 
> >        * The GIC redistributor addresses come from d
> >          ->arch.vgic.rdist_regions[i].
> >        * the "Parking Protocol Version" ought to be set to reflect 
> > Xen's
> >          support for PSCI, not whatever the host says.
> >        * "Processor Power Efficiency Class" ought to be some number 
> > made up
> >          by Xen for all processors (probably 0), since the power 
> > efficiency
> >          of a VCPU has nothing to do with any particular PCPU and we 
> > assume
> >          (today) that all VCPUs are equivalent.
> >        * The GICD version field comes from d->arch.vgic.version
> > 
> > What, if any, fields do you now think should be copied directly from 
> > the
> > host MADT?
> > 
> Of course we could create the entries according to the information of 
> d->arch.vgic. But the contents of d->arch.vgic are also get from the 
> host MADT table. It really has a big difference between the two ways?

Yes, the difference is in the use of the correct abstractions. Going direct
to the host MADT in the code which builds the dom0 MADT goes around the
abstraction.

> In addition, I don't object to the way you suggest. Both are fine to me.
> 
> Thanks,

  reply	other threads:[~2015-09-02 14:24 UTC|newest]

Thread overview: 43+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-08-28  9:45 Design doc of adding ACPI support for arm64 on Xen - version 5 Shannon Zhao
2015-08-28 12:55 ` Julien Grall
2015-08-29  1:00   ` Shannon Zhao
2015-08-31  7:33     ` Jan Beulich
2015-08-31 11:44     ` Julien Grall
2015-08-31 12:03       ` Shannon Zhao
2015-08-31 12:34         ` Julien Grall
2015-09-01  4:12           ` Shannon Zhao
2015-09-01 11:28             ` Julien Grall
2015-09-01 12:35               ` Shannon Zhao
2015-09-01 13:40                 ` Julien Grall
2015-09-01 14:03                   ` Jan Beulich
2015-09-01 14:20                     ` Julien Grall
2015-09-02  6:02                   ` Shannon Zhao
2015-09-02  8:41                     ` Jan Beulich
2015-09-02  9:18                       ` Christoffer Dall
2015-09-02 11:15                         ` Julien Grall
2015-09-02  9:25                       ` Shannon Zhao
2015-09-02 12:30                         ` Jan Beulich
2015-09-02 11:09                     ` Julien Grall
2015-09-02 12:02                       ` Shannon Zhao
2015-09-02 12:52                         ` Julien Grall
2015-09-02 13:26                           ` Ian Campbell
2015-09-02 13:48                             ` Julien Grall
2015-09-02 13:54                               ` Ian Campbell
2015-09-02 13:57                                 ` Christoffer Dall
2015-09-02 15:27                                   ` Leif Lindholm
2015-09-02 15:37                                     ` Ard Biesheuvel
2015-09-02 14:00                               ` Jan Beulich
2015-09-02 12:58           ` Ian Campbell
2015-08-28 15:06 ` Jan Beulich
2015-08-29  1:29   ` Shannon Zhao
2015-08-31  7:39     ` Jan Beulich
2015-08-31  8:51       ` Shannon Zhao
2015-08-31  9:40         ` Jan Beulich
2015-08-31 11:31           ` Shannon Zhao
2015-08-31 11:46             ` Jan Beulich
2015-09-02 12:54           ` Ian Campbell
2015-09-02 13:59             ` Shannon Zhao
2015-09-02 14:24               ` Ian Campbell [this message]
2015-09-02 12:18 ` Ian Campbell
2015-09-07  3:37   ` Shannon Zhao
2015-09-07 10:47     ` Stefano Stabellini

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=1441203856.26292.214.camel@citrix.com \
    --to=ian.campbell@citrix.com \
    --cc=JBeulich@suse.com \
    --cc=andrew@fubar.geek.nz \
    --cc=boris.ostrovsky@oracle.com \
    --cc=christoffer.dall@linaro.org \
    --cc=david.vrabel@citrix.com \
    --cc=hangaohuai@huawei.com \
    --cc=julien.grall@citrix.com \
    --cc=parth.dixit@linaro.org \
    --cc=peter.huangpeng@huawei.com \
    --cc=roger.pau@citrix.com \
    --cc=shannon.zhao@linaro.org \
    --cc=stefano.stabellini@citrix.com \
    --cc=stefano.stabellini@eu.citrix.com \
    --cc=xen-devel@lists.xen.org \
    --cc=zhaoshenglong@huawei.com \
    /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.