On 1/31/20 2:31 PM, Krzysztof Kozlowski wrote: > On Fri, 31 Jan 2020 at 14:30, Bartlomiej Zolnierkiewicz > <b.zolnierkie@xxxxxxxxxxx> wrote: >> >> >> Hi, >> >> On 1/27/20 10:54 PM, lukasz.luba@xxxxxxx wrote: >>> From: Lukasz Luba <lukasz.luba@xxxxxxx> >>> >>> Enable the Energy Model (EM) brings possibility to use Energy Aware >>> Scheduler (EAS). This compiles the EM but does not enable to run EAS in >>> default. The EAS only works with SchedUtil - a CPUFreq governor which >>> handles direct requests from the scheduler for the frequency change. Thus, >>> to make EAS working in default, the SchedUtil governor should be >>> configured as default CPUFreq governor. Although, the EAS might be enabled >>> in runtime, when the EM is present for CPUs, the SchedUtil is compiled and >>> then set as CPUFreq governor, i.e.: >>> >>> echo schedutil > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor >>> echo schedutil > /sys/devices/system/cpu/cpu4/cpufreq/scaling_governor >>> >>> To check if EAS is ready to work, the read output from the command below >>> should show '1': >>> cat /proc/sys/kernel/sched_energy_aware >>> >>> To disable EAS in runtime simply 'echo 0' to the file above. >>> >>> Some test results, which stress the scheduler on Odroid-XU3: >>> hackbench -l 500 -s 4096 >>> With mainline code and with this patch set. >>> >>> The tests have been made with and without CONFIG_PROVE_LOCKING (PL) >>> (which is set to =y in default exynos_defconfig) >>> >>> | this patch set | mainline >>> |-----------------------------------------------|--------------- >>> | performance | SchedUtil | SchedUtil | performance >>> | governor | governor | governor | governor >>> | | w/o EAS | w/ EAS | >>> ----------------|---------------|---------------|---------------|--------------- >>> hackbench w/ PL | 12.7s | 11.7s | 12.0s | 13.0s - 12.2s >>> hackbench w/o PL| 9.2s | 8.1s | 8.2s | 9.2s - 8.4s >> >> Would you happen to have measurements of how much power is >> saved by running hackbench using "SchedUtil governor w/ EAS" >> instead of "SchedUtil governor w/o EAS"? > > That's a good point and quite important reason behind enabling (or not) EAS... IIUC EAS is enabled by default if you use SchedUtil governor and Energy Model is available on you platform. [ SchedUtil governor is enabled in exynos_defconfig although not enabled by default currently. ] Best regards, -- Bartlomiej Zolnierkiewicz Samsung R&D Institute Poland Samsung Electronics > Best regards, > Krzysztof