On 11 October 2011 11:13, Peter Zijlstra <a.p.zijls...@chello.nl> wrote: > On Tue, 2011-10-11 at 10:51 +0200, Vincent Guittot wrote: >> I have several goals. The 1st one is that I need to put more load on >> some cpus when I have packages with different cpu frequency. > > That should be rather easy. >
I agree, I was mainly wondering If I should use a [1-1024] or a [1024-xxxx] range and it seems that both can be used according : SMT uses <1024 and x86 turbo mode uses >1024 >> I also study if I can follow the real cpu frequency but it seems to be >> not so easy. > > Why not? > In fact, the problem is not really to follow the frequency but to be sure that update_group_power is called often enough by load_balance. The newly_idle event was also one main problem. >> I have noticed that the cpu_power is updated periodical >> except when we have a lot of newly_idle events. > > We can certainly fix that. > That's a good news. >> Then, I have some use cases which have several running tasks but a low >> cpu load. In this case, the small tasks are spread on several cpu by >> the load_balance whereas they could be easily handled by one cpu >> without significant performance modification. > > That shouldn't be done using cpu_power, we have sched_smt_power_savings > and sched_mc_power_savings for stuff like that. > sched_mc_power_saving works fine when we have more than 2 cpus but can't apply on a dual core because it needs at least 2 sched_groups and the nr_running of these sched_groups must be higher than 0 but smaller than group_capacity which is 1 on a dual core system. > Although I would really like to kill all those different > sched_*_power_savings knobs and reduce it to one. > >> If the cpu_power is >> higher than 1024, the cpu is no more seen out of capacity by the >> load_balance as soon as a short process is running and teh main result >> is that the small tasks will stay on the same cpu. This configuration >> is mainly usefull for ARM dual core system when we want to power gate >> one cpu. I use cyclictest to simulate such use case. > > Yeah, but that's wrong. That's the only way I have found to gathers small task without any relationship on one cpu. Do you know any better solution ? > > Regards, Vincent _______________________________________________ linaro-dev mailing list linaro-dev@lists.linaro.org http://lists.linaro.org/mailman/listinfo/linaro-dev