From mboxrd@z Thu Jan 1 00:00:00 1970 From: Lukasz Majewski Subject: Re: [PATCH RESEND v10 0/7] cpufreq:boost: CPU Boost mode support Date: Mon, 09 Dec 2013 11:04:01 +0100 Message-ID: <20131209110401.329351e9@amdc2363> References: <1370502472-7249-1-git-send-email-l.majewski@samsung.com> <1385986761-17934-1-git-send-email-l.majewski@samsung.com> <20131204075921.3b9e86fa@amdc2363> <529F384A.8040409@ti.com> Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Return-path: In-reply-to: <529F384A.8040409@ti.com> Sender: cpufreq-owner@vger.kernel.org To: "Rafael J. Wysocki" Cc: Eduardo Valentin , Viresh Kumar , Zhang Rui , "cpufreq@vger.kernel.org" , Linux PM list , Jonghwa Lee , Lukasz Majewski , linux-kernel , Bartlomiej Zolnierkiewicz , Myungjoo Ham , durgadoss.r@intel.com, linux-samsung-soc@vger.kernel.org List-Id: linux-pm@vger.kernel.org Hi Rafael, > 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. Rafael, what is your opinion here? Shall I prepare another resend (without thermal patch) or would you accept the cpufreq part of this patch set (1 to 6) as is? > > > > > > > > >> > >> 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