From mboxrd@z Thu Jan 1 00:00:00 1970 From: Viresh Kumar Subject: Re: [PATCH v6 3/8] cpufreq:acpi:x86: Adjust the acpi-cpufreq.c code to work with common boost solution Date: Fri, 26 Jul 2013 14:54:07 +0530 Message-ID: References: <1370502472-7249-1-git-send-email-l.majewski@samsung.com> <1374770011-22171-1-git-send-email-l.majewski@samsung.com> <1374770011-22171-4-git-send-email-l.majewski@samsung.com> <20130726100940.1974559e@amdc308.digital.local> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Return-path: In-Reply-To: <20130726100940.1974559e@amdc308.digital.local> Sender: cpufreq-owner@vger.kernel.org To: Lukasz Majewski Cc: "Rafael J. Wysocki" , Zhang Rui , Eduardo Valentin , "cpufreq@vger.kernel.org" , Linux PM list , Jonghwa Lee , Lukasz Majewski , linux-kernel , Bartlomiej Zolnierkiewicz , Daniel Lezcano , Kukjin Kim , Myungjoo Ham , durgadoss.r@intel.com List-Id: linux-pm@vger.kernel.org On 26 July 2013 13:39, Lukasz Majewski wrote: > On Fri, 26 Jul 2013 12:58:02 +0530 Viresh Kumar wrote, >> On 25 July 2013 22:03, Lukasz Majewski wrote: >> > diff --git a/drivers/cpufreq/acpi-cpufreq.c >> > b/drivers/cpufreq/acpi-cpufreq.c >> >> > static void __init acpi_cpufreq_boost_init(void) >> > { >> > + acpi_cpufreq_driver.boost_supported = false; > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [*] >> >> Would be better if we do this in else of below if. > > We need to set boost_supported = false at [*] for the case when: > 1. msrs_alloc fails > or > 2. acpi_cpufreq is built as a module and can be inserted and removed > several times. Without [*] we could end up with wrong (not false) > initial state. Hmm.. Now that I see the code again, we don't need to set it to false as it is a global variable and this field is already set to false.. >> > if (boot_cpu_has(X86_FEATURE_CPB) || >> > boot_cpu_has(X86_FEATURE_IDA)) { msrs = msrs_alloc(); >> >> >> > @@ -1021,12 +995,11 @@ static int __init acpi_cpufreq_init(void) >> > *iter = &cpb; >> > } >> > #endif >> > + acpi_cpufreq_boost_init(); > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [**] >> >> We are calling it before registering cpufreq driver. Will this have >> any complications? > > When we call [**] after the cpufreq_register_driver [***] we end up with > sysfs boost attribute not exported at x86. > The boost attribute is exported at [***] only when > acpi_cpufreq.boost_supported = true. However support for boost at x86 > is evaluated at acpi_cpufreq_boost_init(). I understand why you moved it above cpufreq driver register. I was thinking if there can be few side effects of this..