[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [RFC 0/5] xen/arm: support big.little SoC



On Thu, Sep 22, 2016 at 12:21:00PM +0100, Julien Grall wrote:
>>>>
>>>>According to George's comments,
>>>>Then, I think we could use affinity to restrict little vcpus be scheduled 
>>>>on little vcpus,
>>>>and restrict big vcpus on big vcpus. Seems no need to consider soft 
>>>>affinity, use hard
>>>>affinity is to handle this.
>>>>
>>>>We may need to provide some interface to let xl can get the information 
>>>>such as
>>>>big.little or smp. if it is big.little, which is big and which is little.
>>>>
>>>>For how to differentiate cpus, I am looking the linaro eas cpu topology 
>>>>code,
>>>>The code has not been upstreamed (:, but merged into google android kernel.
>>>>I only plan to take some necessary code, such as device tree parse and
>>>>cpu topology build, because we only need to know the computing capacity of 
>>>>each pcpu.
>>>>
>>>>Some doc about eas piece, including dts node examples:
>>>>https://git.linaro.org/arm/eas/kernel.git/blob/refs/heads/lsk-v4.4-eas-v5.2:/Documentation/devicetree/bindings/scheduler/sched-energy-costs.txt
>>>
>>>I am reluctant to take any non-upstreamed bindings in Xen. There is a similar
>>>series going on the lklm [1].
>>
>>For how to differentiate cpu classes, how about directly use
>>compatible property of each cpu node?
>
>What do you mean by cpu classes? If it is power, then the compatible will not
>help here. You may have a platform with the same core (e.g cortex A53) but
>different silicon implementation, so the power efficiency will be different.

cpu classes, I mean cpu clusters. I checked the cpu capacity code[1] you listed,
it use dmips from dhystone. But now what I plan to implement to block vcpu
from being scheduled within big.LITTLE.

In my case, vcpu will be restricted in A53 or A72.

In the same cluster, different cores may run at different cpu freq or all the 
cores
run at the same freq. This depends on soc implementation.

This needs xen to choose which pcpu to run the vcpu, and no local migration 
scheduling vcpu on the cpus in one cluster.

Considering power for future, dmips needs to be used, but also need to 
differentiate
cpus from different clusters. So "dmips + compatible" both needs to be 
considered.

For cpus in one cluster, also need to take the dmips info for xen scheduling
vcpu between pcpu effectively.

Thanks,
Peng.

[1]https://lwn.net/Articles/699569/
>
>Regards,
>
>-- 
>Julien Grall

-- 

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

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.