Messages in this thread | | | Subject | Re: [PATCH 2/6] sched/fair: Convert arch_scale_cpu_capacity() from weak function to #define | From | Dietmar Eggemann <> | Date | Mon, 7 Sep 2015 14:25:11 +0100 |
| |
On 04/09/15 08:26, Vincent Guittot wrote: > On 3 September 2015 at 21:58, Dietmar Eggemann <dietmar.eggemann@arm.com> wrote:
[...]
>>> So you change the way to declare arch_scale_cpu_capacity but i don't >>> see the update of the arm arch which declare a >>> arch_scale_cpu_capacity to reflect this change in your series. >> >> We were reluctant to do this because this functionality makes only sense >> for ARCH=arm big.Little systems w/ cortex-a{15|7} cores and only if the >> clock-frequency property is set in the dts file. > > IMO, we should maintain the compatibility of current implementation > instead of breaking the link and creating a dead code. > Your proposal below fits the requirement
The only problem with this solution is that now we got a call to arch_scale_cpu_capacity() in the hotpath whereas before it is only called in update_cpu_capacity(). An implementation of scale_cpu_capacity() in arch/arm/kernel/topology.c leads to a function call in __update_load_avg. I'm in the middle of doing some performance tests on TC2 w/ and w/o the cpu invariant implementation.
> >> >> Are you planning to push for a 'struct cpu_efficiency/clock-frequency >> property' solution for ARCH=arm64 as well? > > I know that there has been some discussions aorund that but i didn't > follow the thread in details > >> >> I'm asking because for ARCH=arm64 systems today (JUNO, Hi6220) we use the >> capacity value of the last entry of the capacity_state vector for the cores >> (e.g. cortex-a{57|53). > > This is a struct of the eas feature ? Not sure that we should link the > definition of the cpu capacity to an internal struct of a feature; DT > seems a better way to define it.
Yeah, the cpu invariant functionality should not base on EAS. We just use the short-cut in EAS RFCv5 to get it working on ARM64.
> So if you want to revisit the way, we set the capacity of CPU for arm > and/or arm64, I'm fully open to the discussion but this should happen > in another thread than this one which has for only purpose the > alignment of the arch_scale_cpu_capacity interface declaration with > arch_scale_freq_capacity one.
Agreed.
> > So, with the patch below that updates the arm definition of > arch_scale_cpu_capacity, you can add my Acked-by: Vincent Guittot > <vincent.guittot@linaro.org> on this patch and the additional one > below > > Regards, > Vincent
[...]
| |