[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <08aff2de-85d5-36b2-13bb-bad6eb5d37eb@samsung.com>
Date: Fri, 31 Jan 2020 14:47:32 +0100
From: Bartlomiej Zolnierkiewicz <b.zolnierkie@...sung.com>
To: Krzysztof Kozlowski <krzk@...nel.org>
Cc: lukasz.luba@....com, kgene@...nel.org,
linux-arm-kernel@...ts.infradead.org,
"linux-samsung-soc@...r.kernel.org"
<linux-samsung-soc@...r.kernel.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
devicetree@...r.kernel.org, linux-pm@...r.kernel.org,
myungjoo.ham@...sung.com, kyungmin.park@...sung.com,
Chanwoo Choi <cw00.choi@...sung.com>, robh+dt@...nel.org,
mark.rutland@....com, dietmar.eggemann@....com
Subject: Re: [PATCH 3/3] ARM: exynos_defconfig: Enable Energy Model
framework
On 1/31/20 2:31 PM, Krzysztof Kozlowski wrote:
> On Fri, 31 Jan 2020 at 14:30, Bartlomiej Zolnierkiewicz
> <b.zolnierkie@...sung.com> wrote:
>>
>>
>> Hi,
>>
>> On 1/27/20 10:54 PM, lukasz.luba@....com wrote:
>>> From: Lukasz Luba <lukasz.luba@....com>
>>>
>>> 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
Powered by blists - more mailing lists