Re: [RFC v3 0/5] cpufreq:LAB: Support for LAB governor.

From: Lukasz Majewski
Date: Mon Mar 17 2014 - 11:38:44 EST


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
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/