From: Peng Fan <van.freenix@gmail.com>
To: Julien Grall <julien.grall@arm.com>
Cc: Juergen Gross <jgross@suse.com>, Peng Fan <peng.fan@nxp.com>,
Stefano Stabellini <sstabellini@kernel.org>,
George Dunlap <George.Dunlap@eu.citrix.com>,
Andrew Cooper <andrew.cooper3@citrix.com>,
Dario Faggioli <dario.faggioli@citrix.com>,
"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>,
Jan Beulich <jbeulich@suse.com>
Subject: Re: [RFC 0/5] xen/arm: support big.little SoC
Date: Wed, 21 Sep 2016 20:38:14 +0800 [thread overview]
Message-ID: <20160921123812.GC4751@linux-u7w5.ap.freescale.net> (raw)
In-Reply-To: <39623498-bb30-4ff7-f075-219487a5afbb@arm.com>
On Wed, Sep 21, 2016 at 11:09:11AM +0100, Julien Grall wrote:
>
>
>On 20/09/16 21:17, Stefano Stabellini wrote:
>>On Tue, 20 Sep 2016, Julien Grall wrote:
>>>Hi Stefano,
>>>
>>>On 20/09/2016 20:09, Stefano Stabellini wrote:
>>>>On Tue, 20 Sep 2016, Julien Grall wrote:
>>>>>Hi,
>>>>>
>>>>>On 20/09/2016 12:27, George Dunlap wrote:
>>>>>>On Tue, Sep 20, 2016 at 11:03 AM, Peng Fan <van.freenix@gmail.com>
>>>>>>wrote:
>>>>>>>On Tue, Sep 20, 2016 at 02:54:06AM +0200, Dario Faggioli wrote:
>>>>>>>>On Mon, 2016-09-19 at 17:01 -0700, Stefano Stabellini wrote:
>>>>>>>>>On Tue, 20 Sep 2016, Dario Faggioli wrote:
>>>>>>>I'd like to add a computing capability in xen/arm, like this:
>>>>>>>
>>>>>>>struct compute_capatiliby
>>>>>>>{
>>>>>>> char *core_name;
>>>>>>> uint32_t rank;
>>>>>>> uint32_t cpu_partnum;
>>>>>>>};
>>>>>>>
>>>>>>>struct compute_capatiliby cc=
>>>>>>>{
>>>>>>> {"A72", 4, 0xd08},
>>>>>>> {"A57", 3, 0xxxx},
>>>>>>> {"A53", 2, 0xd03},
>>>>>>> {"A35", 1, ...},
>>>>>>>}
>>>>>>>
>>>>>>>Then when identify cpu, we decide which cpu is big and which cpu is
>>>>>>>little
>>>>>>>according to the computing rank.
>>>>>>>
>>>>>>>Any comments?
>>>>>>
>>>>>>I think we definitely need to have Xen have some kind of idea the
>>>>>>order between processors, so that the user doesn't need to figure out
>>>>>>which class / pool is big and which pool is LITTLE. Whether this sort
>>>>>>of enumeration is the best way to do that I'll let Julien and Stefano
>>>>>>give their opinion.
>>>>>
>>>>>I don't think an hardcoded list of processor in Xen is the right solution.
>>>>>There are many existing processors and combinations for big.LITTLE so it
>>>>>will
>>>>>nearly be impossible to keep updated.
>>>>>
>>>>>I would expect the firmware table (device tree, ACPI) to provide relevant
>>>>>data
>>>>>for each processor and differentiate big from LITTLE core.
>>>>>Note that I haven't looked at it for now. A good place to start is looking
>>>>>at
>>>>>how Linux does.
>>>>
>>>>That's right, see Documentation/devicetree/bindings/arm/cpus.txt. It is
>>>>trivial to identify the two different CPU classes and which cores belong
>>>>to which class.t, as
>>>
>>>The class of the CPU can be found from the MIDR, there is no need to use the
>>>device tree/acpi for that. Note that I don't think there is an easy way in
>>>ACPI (i.e not in AML) to find out the class.
>>>
>>>>It is harder to figure out which one is supposed to be
>>>>big and which one LITTLE. Regardless, we could default to using the
>>>>first cluster (usually big), which is also the cluster of the boot cpu,
>>>>and utilize the second cluster only when the user demands it.
>>>
>>>Why do you think the boot CPU will usually be a big one? In the case of Juno
>>>platform it is configurable, and the boot CPU is a little core on r2 by
>>>default.
>>>
>>>In any case, what we care about is differentiate between two set of CPUs. I
>>>don't think Xen should care about migrating a guest vCPU between big and
>>>LITTLE cpus. So I am not sure why we would want to know that.
>>
>>No, it is not about migrating (at least yet). It is about giving useful
>>information to the user. It would be nice if the user had to choose
>>between "big" and "LITTLE" rather than "class 0x1" and "class 0x100", or
>>even "A7" or "A15".
>
>I don't think it is wise to assume that we may have only 2 kind of CPUs on
>the platform. We may have more in the future, if so how would you name them?
Consider more than 2 kinds of physical cpus,
"vcpuclass=["0-1:A35","2-5:A53", "6-7:A72"]" seems easier to be handled
Regards,
Peng.
>
>IHMO, asking the user to specify the type of CPUs he wants would be the
>easiest way (though a bit difficult for the user) and avoid us to rely on
>non-upstreamed bindings.
>
>Regards,
>
>--
>Julien Grall
--
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
https://lists.xen.org/xen-devel
next prev parent reply other threads:[~2016-09-21 12:38 UTC|newest]
Thread overview: 85+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-09-19 2:08 [RFC 0/5] xen/arm: support big.little SoC van.freenix
2016-09-19 2:08 ` [RFC 1/5] xen/arm: domain_build: setting opt_dom0_max_vcpus according to cpupool0 info van.freenix
2016-09-19 2:08 ` [RFC 2/5] xen: cpupool: introduce cpupool_arch_info van.freenix
2016-09-19 2:08 ` [RFC 3/5] xen: cpupool: add arch cpupool hook van.freenix
2016-09-19 2:08 ` [RFC 4/5] xen/arm: move vpidr from arch_domain to arch_vcpu van.freenix
2016-09-19 2:08 ` [RFC 5/5] xen/arm: cpupool: implement arch_domain_cpupool_compatible van.freenix
2016-09-19 8:09 ` [RFC 0/5] xen/arm: support big.little SoC Julien Grall
2016-09-19 8:36 ` Peng Fan
2016-09-19 8:53 ` Julien Grall
2016-09-19 9:38 ` Peng Fan
2016-09-19 9:59 ` Julien Grall
2016-09-19 13:15 ` Peng Fan
2016-09-19 20:56 ` Stefano Stabellini
2016-09-19 9:45 ` George Dunlap
2016-09-19 10:06 ` Julien Grall
2016-09-19 10:23 ` Juergen Gross
2016-09-19 17:18 ` Dario Faggioli
2016-09-19 21:03 ` Stefano Stabellini
2016-09-19 22:55 ` Dario Faggioli
2016-09-20 0:01 ` Stefano Stabellini
2016-09-20 0:54 ` Dario Faggioli
2016-09-20 10:03 ` Peng Fan
2016-09-20 10:27 ` George Dunlap
2016-09-20 15:34 ` Julien Grall
2016-09-20 17:24 ` Dario Faggioli
2016-09-20 19:09 ` Stefano Stabellini
2016-09-20 19:41 ` Julien Grall
2016-09-20 20:17 ` Stefano Stabellini
2016-09-21 8:38 ` Peng Fan
2016-09-21 9:22 ` George Dunlap
2016-09-21 12:35 ` Peng Fan
2016-09-21 15:00 ` Dario Faggioli
2016-09-21 10:15 ` Julien Grall
2016-09-21 12:28 ` Peng Fan
2016-09-21 15:06 ` Dario Faggioli
2016-09-22 9:45 ` Peng Fan
2016-09-22 11:21 ` Julien Grall
2016-09-23 2:38 ` Peng Fan
2016-09-21 10:09 ` Julien Grall
2016-09-21 10:22 ` George Dunlap
2016-09-21 13:06 ` Julien Grall
2016-09-21 15:45 ` Dario Faggioli
2016-09-21 19:28 ` Julien Grall
2016-09-22 6:16 ` Peng Fan
2016-09-22 8:43 ` Dario Faggioli
2016-09-22 11:24 ` Julien Grall
2016-09-22 16:31 ` Dario Faggioli
2016-09-23 13:56 ` Julien Grall
2016-09-21 18:13 ` Stefano Stabellini
2016-09-21 19:11 ` Julien Grall
2016-09-21 19:21 ` Julien Grall
2016-09-21 23:45 ` Stefano Stabellini
2016-09-22 6:49 ` Peng Fan
2016-09-22 8:50 ` Dario Faggioli
2016-09-22 9:27 ` Peng Fan
2016-09-22 9:51 ` George Dunlap
2016-09-22 10:09 ` Peng Fan
2016-09-22 10:39 ` Dario Faggioli
2016-09-22 10:13 ` Juergen Gross
2016-09-22 9:52 ` Dario Faggioli
2016-09-22 11:29 ` Julien Grall
2016-09-22 17:31 ` Stefano Stabellini
2016-09-22 18:54 ` Julien Grall
2016-09-23 2:14 ` Peng Fan
2016-09-23 9:24 ` Julien Grall
2016-09-23 10:05 ` Peng Fan
2016-09-23 10:15 ` Julien Grall
2016-09-23 13:36 ` Dario Faggioli
2016-09-24 1:57 ` Stefano Stabellini
2016-09-23 13:52 ` Dario Faggioli
2016-09-24 1:35 ` Stefano Stabellini
2016-09-23 2:03 ` Peng Fan
2016-09-22 10:05 ` Peng Fan
2016-09-22 16:26 ` Dario Faggioli
2016-09-22 17:33 ` Stefano Stabellini
2016-09-21 12:38 ` Peng Fan [this message]
2016-09-21 9:45 ` Dario Faggioli
2016-09-20 10:18 ` George Dunlap
2016-09-19 20:55 ` Stefano Stabellini
2016-09-19 10:33 ` George Dunlap
2016-09-19 13:33 ` Peng Fan
2016-09-20 0:11 ` Dario Faggioli
2016-09-20 6:18 ` Peng Fan
2016-09-19 16:43 ` Dario Faggioli
2016-09-19 13:08 ` Peng Fan
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=20160921123812.GC4751@linux-u7w5.ap.freescale.net \
--to=van.freenix@gmail.com \
--cc=George.Dunlap@eu.citrix.com \
--cc=andrew.cooper3@citrix.com \
--cc=dario.faggioli@citrix.com \
--cc=jbeulich@suse.com \
--cc=jgross@suse.com \
--cc=julien.grall@arm.com \
--cc=peng.fan@nxp.com \
--cc=sstabellini@kernel.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).