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

Eduardo Valentin
2013-12-04T14:12:43Z

[-- Attachment #1: Type: text/plain, Size: 4153 bytes --]

On 04-12-2013 02:59, Lukasz Majewski wrote:
> 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.

I agree with Lukasz here. The part that touches the thermal driver is
minimal and the discussion is a simple matter of concept and
optimization of data structures.

>
>
>
>>
>> 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(-)
>>
>
>
>

--
You have got to be excited about what you are doing. (L. Lamport)

Eduardo Valentin

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 295 bytes --]