[RFC v3 0/5] cpufreq:LAB: Support for LAB governor.
Lukasz Majewski
l.majewski at samsung.com
Mon Mar 17 11:38:24 EDT 2014
Dear all,
> Despite this patch set is working and applicable on top of 3.14-rc5,
> please regard it solely as a pure RFC.
>
> This patch provides support for LAB governor build on top of ondemand.
> Previous version of LAB can be found here:
> http://thread.gmane.org/gmane.linux.kernel/1484746/match=cpufreq
>
> LAB short reminder:
>
> LAB uses information about how many cores are in "idle" state (the
> core idleness is represented as the value between 0 and 100) and the
> overall load of the system (from 0 to 100) to decide about frequency
> to be set. It is extremely useful with SoCs like Exynos4412, which
> can set only one frequency for all cores.
>
> Important design decisions:
>
> - Reuse well established ondemand governor's internal code. To do this
> I had to expose some previously static internal ondemand code.
> This allowed smaller LAB code when compared to previous version.
>
> - LAB works on top of ondemand, which means that one via device tree
> attributes can specify if and when e.g. BOOST shall be enabled or
> if any particular frequency shall be imposed. For situation NOT
> important from the power consumption reduction viewpoint the ondemand
> is used to set proper frequency.
>
> - It is only possible to either compile in or not the LAB into the
> kernel. There is no "M" option for Kconfig. It is done on purpose,
> since ondemand itself can be also compiled as a module and then it
> would be possible to remove ondemand when LAB is working on top of it.
>
> - The LAB operation is specified (and thereof extendable) via device
> tree lab-ctrl-freq attribute defined at /cpus/cpu0.
>
>
> Problems:
> - How the governor will work for big.LITTLE systems (especially
> Global Task Scheduling).
> - Will there be agreement to expose internal ondemand code to be
> reused for more specialized governors.
>
> Test HW:
> Exynos4412 - Trats2 board.
> Above patches were posted on top of Linux 3.14-rc5
> (SHA1: 3f9590c281c66162bf8ae9b7b2d987f0a89043c6)
>
Any comments about those patches?
> Lukasz Majewski (5):
> cpufreq:LAB:ondemand Adjust ondemand to be able to reuse its methods
> cpufreq:LAB:cpufreq_governor Adjust cpufreq_governor.[h|c] to
> support LAB
> cpufreq:LAB:lab Add LAB governor code
> cpufreq:LAB:Kconfig Add LAB definitions to Kconfig
> cpufreq:LAB:dts:trats2: Add DTS nodes for LAB governor
>
> arch/arm/boot/dts/exynos4412-trats2.dts | 29 ++
> drivers/cpufreq/Kconfig | 28 ++
> drivers/cpufreq/Makefile | 1 +
> drivers/cpufreq/cpufreq_governor.c | 7 +
> drivers/cpufreq/cpufreq_governor.h | 12 +
> drivers/cpufreq/cpufreq_lab.c | 457
> +++++++++++++++++++++++++++++++
> drivers/cpufreq/cpufreq_ondemand.c | 24 +- 7 files changed,
> 550 insertions(+), 8 deletions(-) create mode 100644
> drivers/cpufreq/cpufreq_lab.c
>
--
Best regards,
Lukasz Majewski
Samsung R&D Institute Poland (SRPOL) | Linux Platform Group
More information about the linux-arm-kernel
mailing list