xen-devel.lists.xenproject.org archive mirror
 help / color / mirror / Atom feed
From: Julien Grall <julien.grall@arm.com>
To: Peng Fan <van.freenix@gmail.com>
Cc: Juergen Gross <jgross@suse.com>, Peng Fan <peng.fan@nxp.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Steve Capper <Steve.Capper@arm.com>,
	George Dunlap <George.Dunlap@eu.citrix.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Dario Faggioli <dario.faggioli@citrix.com>,
	Punit Agrawal <punit.agrawal@arm.com>,
	George Dunlap <george.dunlap@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: Fri, 23 Sep 2016 11:15:12 +0100	[thread overview]
Message-ID: <b034126d-fe05-d69b-b7c7-4931eb71d8fb@arm.com> (raw)
In-Reply-To: <20160923100523.GB5828@linux-u7w5.ap.freescale.net>



On 23/09/16 11:05, Peng Fan wrote:
> On Fri, Sep 23, 2016 at 10:24:37AM +0100, Julien Grall wrote:
>> Hello Peng,
>>
>> On 23/09/16 03:14, Peng Fan wrote:
>>> On Thu, Sep 22, 2016 at 07:54:02PM +0100, Julien Grall wrote:
>>>> Hi Stefano,
>>>>
>>>> On 22/09/2016 18:31, Stefano Stabellini wrote:
>>>>> On Thu, 22 Sep 2016, Julien Grall wrote:
>>>>>> Hello Peng,
>>>>>>
>>>>>> On 22/09/16 10:27, Peng Fan wrote:
>>>>>>> On Thu, Sep 22, 2016 at 10:50:23AM +0200, Dario Faggioli wrote:
>>>>>>>> On Thu, 2016-09-22 at 14:49 +0800, Peng Fan wrote:
>>>>>>>>> On Wed, Sep 21, 2016 at 08:11:43PM +0100, Julien Grall wrote:
>>>>>>>> A feature like `xl cpupool-biglittle-split' can still be interesting,
>>>>>>>
>>>>>>> "cpupool-cluster-split" maybe a better name?
>>>>>>
>>>>>> You seem to assume that a cluster, from the MPIDR point of view, can only
>>>>>> contain the same set of CPUs. I don't think this is part of the architecture,
>>>>>> so this may not be true in the future.
>>>>>
>>>>> Interesting. I also understood that a cluster can only have one kind if
>>>>> cpus. Honestly it would be a little insane for it to be otherwise :-)
>>>>
>>>> I don't think this is insane (or maybe I am insane :)). Cluster usually
>>>> doesn't share all L2 cache (assuming L1 is local to each core) and L3 cache
>>>> may not be present, so if you move a task from one cluster to another you
>>>> will add latency because the new L2 cache has to be refilled.
>>>>
>>>> The use case of big.LITTLE is big cores are used for short period of burst
>>>> and little core are used for the rest (e.g listening audio, fetching
>>>> mail...). If you want to reduce latency when switch between big and little
>>>> CPUs, you may want to put them within the same cluster.
>>>>
>>>> Also, as mentioned in another thread, you may have a platform with the same
>>>> micro-architecture (e.g Cortex A-53) but different silicon implementation
>>>> (e.g to have a different frequency, power efficiency). Here the concept of
>>>> big.LITTLE is more blurred.
>>>
>>> That is possible that in one cluster, different pcpus runs with different cpu
>>> frequency. This depends on hardware design. Some may require all the cores in
>>> one cluster runs at the same frequency, some may have more complicated design that
>>> supports different cores runs at different frequency.
>>>
>>> This is just like you have a smp system, but different cores can run at
>>> different cpu frequency. I think this is not what bit.LITTLE means.
>>
>> big.LITTLE is a generic term to have "power hungry and powerful core
>> powerful" (big) with slower and battery-saving cores (LITTLE).
>>
>> It is not mandatory to have different micro-architectures between big and
>> LITTLE cores.
>>
>> In any case, the interface should not be big.LITTLE specific. We don't want
>> to tie us to one specific architecture.
>
> If all the cores have the same micro-architecture, but for some reason,
> they are put in different clusters or cpus in one cluster support running
> at different cpu freq.
>
> We still can introduce cpupool-cluster-split or as Juergen suggested,
> use "cpupool-slit feature=xx"  to split the cluster or cpuclasses
> into different cpupools. This is just a feature that better to have, I think.
>
> The reason to include cpupool-cluster-split or else is to split the big and little
> cores into different cpupools. And now big and little cores are in different cpu
> clusters from the hardware[1] I can see. I think assigning cores from
> different clusters into one cpupool is not a good idea.
>
> I have no idea about future hardware.
>
>
> If cluster is not prefered, cpuclass maybe a choice, but I personally perfer
> "cluster" split for ARM.
>
> Thanks,
> Peng.
>
> [1] https://en.wikipedia.org/wiki/ARM_big.LITTLE

Let me be clear here, the ARM ARM is authoritative not Wikipedia. The 
latter will only reflect what is done today, not what could be done.

If the ARM ARM does not forbid it, nothing prevent a semiconductor to do 
it. I gave an example on the mail you answered.

Please try to have a think on all the use case and not only yours.

Regards,

-- 
Julien Grall

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
https://lists.xen.org/xen-devel

  reply	other threads:[~2016-09-23 10:15 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 [this message]
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
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=b034126d-fe05-d69b-b7c7-4931eb71d8fb@arm.com \
    --to=julien.grall@arm.com \
    --cc=George.Dunlap@eu.citrix.com \
    --cc=Steve.Capper@arm.com \
    --cc=andrew.cooper3@citrix.com \
    --cc=dario.faggioli@citrix.com \
    --cc=george.dunlap@citrix.com \
    --cc=jbeulich@suse.com \
    --cc=jgross@suse.com \
    --cc=peng.fan@nxp.com \
    --cc=punit.agrawal@arm.com \
    --cc=sstabellini@kernel.org \
    --cc=van.freenix@gmail.com \
    --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).