On Thu, Jun 18, 2015 at 5:05 PM, pang.xunlei@zte.com.cn wrote:
Just tested on my Intel EAS test environment(implemented x86 frequency invariant hook). With EAS disabled and sched-dvfs enabled.
#./test.sh 3 100 1000 Frequency domain CPU0~CPU2, run 100ms, sleep 1000ms: powersave efficiency: 0% performance efficiency: 100% conservative efficiency: 92% ondemand efficiency: 97% cfs efficiency: 79%
#./test.sh 3 200 1000 Frequency domain CPU0~CPU2, run 200ms, sleep 1000ms: powersave efficiency: 0% performance efficiency: 100% conservative efficiency: 97% ondemand efficiency: 99% cfs efficiency: 89%
#./test.sh 3 50 1000 Frequency domain CPU0~CPU2, run 50ms, sleep 1000ms: powersave efficiency: 0% performance efficiency: 100% conservative efficiency: 93% ondemand efficiency: 96% cfs efficiency: 58%
#./test.sh 3 1000 100 Frequency domain CPU0~CPU2, run 1000ms, sleep 100ms: powersave efficiency: 0% performance efficiency: 100% conservative efficiency: 99% ondemand efficiency: 99% cfs efficiency: 97%
Seems sched-dvfs is computing inefficient at low cpu usage(implies power efficient), but computing efficient at high cpu usage.
-Xunlei
Hi Xunlei,
Thanks for the numbers. So this is along expect lines: the scheduler is not responsive enough in raising OPP during short-lived (<250ms?) bursts of activity.
IIUC, PELT needs ~300ms to reflect the full load (and a little over 100ms to get to reflect 90% load).
Just curious, does the use of the RT scheduling class improve the efficiency?
What heuristics can be added to control hysteresis? Taking into account #of tasks per cpu, #tasks per group?
Regards, Amit