Re: [PATCH RESEND v10 0/7] cpufreq:boost: CPU Boost mode support

Lukasz Majewski
2013-12-04T06:59:33Z

Hi Rafael,

> This patch series introduces support for CPU overclocking technique
> called Boost.
>
> It is a follow up of a LAB governor proposal. Boost is a LAB
> component:
> http://thread.gmane.org/gmane.linux.kernel/1484746/match=cpufreq
>
> Boost unifies hardware based solution (e.g. Intel Nehalem) with
> software oriented one (like the one done at Exynos).
> For this reason cpufreq/freq_table code has been reorganized to
> include common code.
>
> Important design decisions:
> - Boost related code is compiled-in unconditionally to cpufreq core
> and disabled by default. The cpufreq_driver is responsibile for
> setting boost_supported flag and providing set_boost callback(if HW
> support is needed). For software managed boost, special Kconfig flag -
> CONFIG_CPU_FREQ_BOOST_SW has been defined. It will be selected only
> when a target platform has thermal framework properly configured.
>
> - struct cpufreq_driver has been extended with boost related fields:
> -- boost_supported - when driver supports boosting
> -- boost_enabled - boost state
> -- set_boost - callback to function, which is necessary to
> enable/disable boost
>
> - Boost sysfs attribute (/sys/devices/system/cpu/cpufreq/boost) is
> visible _only_ when cpufreq driver supports Boost.
>
> - No special spin_lock for Boost was created. The one from cpufreq
> core was reused.
>
> - The Boost code doesn't rely on any policy. When boost state is
> changed, then the policy list is iterated and proper adjustements are
> done.
>
> - To improve safety level, the thermal framework is also extended to
> disable software boosting, when thermal trip point is reached. After
> cooling down the boost can be enabled again. This emulates behaviour
> similar to HW managed boost (like x86)
>
> Tested at HW:
> Exynos 4412 3.13-rc2 Linux
> Intel Core i7-3770 3.13-rc2 Linux
>
> Above patches were posted on top of kernel_pm/bleeding-edge
> (SHA1: 9483a9f69d5c8f83f1723361bf8340ddfb6475b4)
>

Rafael, could you pull patches from 1 to 6 of this series? Those are
related to cpufreq core and has already been accepted by Viresh at a
late August this year.
This would facilitate my further cpufreq work.

And about the last patch - related to thermal. It seems that more
discussion NOT related to cpufreq will be ongoing.

I would prefer to add it as a separate patch to thermal subtree.

>
> Lukasz Majewski (7):
> cpufreq: Add boost frequency support in core
> cpufreq:acpi:x86: Adjust the acpi-cpufreq.c code to work with common
> boost solution
> cpufreq:boost:Kconfig: Provide support for software managed BOOST
> cpufreq:exynos:Extend Exynos cpufreq driver to support boost
> framework
> Documentation:cpufreq:boost: Update BOOST documentation
> cpufreq:exynos4x12: Change L0 driver data to CPUFREQ_BOOST_FREQ
> thermal:exynos:boost: Automatic enable/disable of BOOST feature (at
> Exynos4412)
>
> Documentation/cpu-freq/boost.txt | 26 +++----
> drivers/cpufreq/Kconfig | 4 +
> drivers/cpufreq/Kconfig.arm | 15 ++++
> drivers/cpufreq/acpi-cpufreq.c | 86
> +++++++-------------- drivers/cpufreq/cpufreq.c |
> 118 ++++++++++++++++++++++++++++-
> drivers/cpufreq/exynos-cpufreq.c | 3 +
> drivers/cpufreq/exynos4x12-cpufreq.c | 2 +-
> drivers/cpufreq/freq_table.c | 56 ++++++++++++--
> drivers/thermal/samsung/exynos_tmu_data.c | 47 ++++++++++++
> include/linux/cpufreq.h | 24 ++++++ 10 files
> changed, 302 insertions(+), 79 deletions(-)
>

--
--
Best regards,

Lukasz Majewski

Samsung R&D Institute Poland (SRPOL) | Linux Platform Group