2013-06-03 19:48:09

by Stratos Karafotis

[permalink] [raw]
Subject: [PATCH v2 2/3] cpufreq: Remove unused function __cpufreq_driver_getavg

Calculation of frequency target in ondemand governor changed and it is
independent from measured average frequency.

Remove unused__cpufreq_driver_getavg function and getavg member from
cpufreq_driver struct. Also, remove the callback getavg in
acpi_cpufreq_driver.

Signed-off-by: Stratos Karafotis <[email protected]>
---
drivers/cpufreq/Makefile | 2 +-
drivers/cpufreq/acpi-cpufreq.c | 5 -----
drivers/cpufreq/cpufreq.c | 12 ------------
include/linux/cpufreq.h | 6 ------
4 files changed, 1 insertion(+), 24 deletions(-)

diff --git a/drivers/cpufreq/Makefile b/drivers/cpufreq/Makefile
index 6ad0b91..aebd4ef 100644
--- a/drivers/cpufreq/Makefile
+++ b/drivers/cpufreq/Makefile
@@ -23,7 +23,7 @@ obj-$(CONFIG_GENERIC_CPUFREQ_CPU0) += cpufreq-cpu0.o
# powernow-k8 can load then. ACPI is preferred to all other hardware-specific drivers.
# speedstep-* is preferred over p4-clockmod.

-obj-$(CONFIG_X86_ACPI_CPUFREQ) += acpi-cpufreq.o mperf.o
+obj-$(CONFIG_X86_ACPI_CPUFREQ) += acpi-cpufreq.o
obj-$(CONFIG_X86_POWERNOW_K8) += powernow-k8.o
obj-$(CONFIG_X86_PCC_CPUFREQ) += pcc-cpufreq.o
obj-$(CONFIG_X86_POWERNOW_K6) += powernow-k6.o
diff --git a/drivers/cpufreq/acpi-cpufreq.c b/drivers/cpufreq/acpi-cpufreq.c
index 17e3496..d3a5f35 100644
--- a/drivers/cpufreq/acpi-cpufreq.c
+++ b/drivers/cpufreq/acpi-cpufreq.c
@@ -45,7 +45,6 @@
#include <asm/msr.h>
#include <asm/processor.h>
#include <asm/cpufeature.h>
-#include "mperf.h"

MODULE_AUTHOR("Paul Diefenbaugh, Dominik Brodowski");
MODULE_DESCRIPTION("ACPI Processor P-States Driver");
@@ -842,10 +841,6 @@ static int acpi_cpufreq_cpu_init(struct cpufreq_policy *policy)
/* notify BIOS that we exist */
acpi_processor_notify_smm(THIS_MODULE);

- /* Check for APERF/MPERF support in hardware */
- if (boot_cpu_has(X86_FEATURE_APERFMPERF))
- acpi_cpufreq_driver.getavg = cpufreq_get_measured_perf;
-
pr_debug("CPU%u - ACPI performance management activated.\n", cpu);
for (i = 0; i < perf->state_count; i++)
pr_debug(" %cP%d: %d MHz, %d mW, %d uS\n",
diff --git a/drivers/cpufreq/cpufreq.c b/drivers/cpufreq/cpufreq.c
index f8c2860..a61aacb 100644
--- a/drivers/cpufreq/cpufreq.c
+++ b/drivers/cpufreq/cpufreq.c
@@ -1584,18 +1584,6 @@ fail:
}
EXPORT_SYMBOL_GPL(cpufreq_driver_target);

-int __cpufreq_driver_getavg(struct cpufreq_policy *policy, unsigned int cpu)
-{
- if (cpufreq_disabled())
- return 0;
-
- if (!cpufreq_driver->getavg)
- return 0;
-
- return cpufreq_driver->getavg(policy, cpu);
-}
-EXPORT_SYMBOL_GPL(__cpufreq_driver_getavg);
-
/*
* when "event" is CPUFREQ_GOV_LIMITS
*/
diff --git a/include/linux/cpufreq.h b/include/linux/cpufreq.h
index d939056..50f19ad 100644
--- a/include/linux/cpufreq.h
+++ b/include/linux/cpufreq.h
@@ -215,10 +215,6 @@ extern int __cpufreq_driver_target(struct cpufreq_policy *policy,
unsigned int target_freq,
unsigned int relation);

-
-extern int __cpufreq_driver_getavg(struct cpufreq_policy *policy,
- unsigned int cpu);
-
int cpufreq_register_governor(struct cpufreq_governor *governor);
void cpufreq_unregister_governor(struct cpufreq_governor *governor);

@@ -258,8 +254,6 @@ struct cpufreq_driver {
unsigned int (*get) (unsigned int cpu);

/* optional */
- unsigned int (*getavg) (struct cpufreq_policy *policy,
- unsigned int cpu);
int (*bios_limit) (int cpu, unsigned int *limit);

int (*exit) (struct cpufreq_policy *policy);
--
1.8.1.4


2013-06-04 05:19:10

by Viresh Kumar

[permalink] [raw]
Subject: Re: [PATCH v2 2/3] cpufreq: Remove unused function __cpufreq_driver_getavg

On 4 June 2013 01:18, Stratos Karafotis <[email protected]> wrote:
> Calculation of frequency target in ondemand governor changed and it is

s/frequency target/target frequency

> independent from measured average frequency.
>
> Remove unused__cpufreq_driver_getavg function and getavg member from
> cpufreq_driver struct. Also, remove the callback getavg in
> acpi_cpufreq_driver.
>
> Signed-off-by: Stratos Karafotis <[email protected]>
> ---
> drivers/cpufreq/Makefile | 2 +-
> drivers/cpufreq/acpi-cpufreq.c | 5 -----
> drivers/cpufreq/cpufreq.c | 12 ------------
> include/linux/cpufreq.h | 6 ------
> 4 files changed, 1 insertion(+), 24 deletions(-)
>
> diff --git a/drivers/cpufreq/Makefile b/drivers/cpufreq/Makefile
> index 6ad0b91..aebd4ef 100644
> --- a/drivers/cpufreq/Makefile
> +++ b/drivers/cpufreq/Makefile
> @@ -23,7 +23,7 @@ obj-$(CONFIG_GENERIC_CPUFREQ_CPU0) += cpufreq-cpu0.o
> # powernow-k8 can load then. ACPI is preferred to all other hardware-specific drivers.
> # speedstep-* is preferred over p4-clockmod.
>
> -obj-$(CONFIG_X86_ACPI_CPUFREQ) += acpi-cpufreq.o mperf.o

Should this be done in 3/3 ?

2013-06-04 15:06:12

by Stratos Karafotis

[permalink] [raw]
Subject: Re: [PATCH v2 2/3] cpufreq: Remove unused function __cpufreq_driver_getavg

On 06/04/2013 08:19 AM, Viresh Kumar wrote:
> On 4 June 2013 01:18, Stratos Karafotis <[email protected]> wrote:
>> Calculation of frequency target in ondemand governor changed and it is
>
> s/frequency target/target frequency

I will change it also in 3/3 that I use the same.

>> independent from measured average frequency.
>>
>> Remove unused__cpufreq_driver_getavg function and getavg member from
>> cpufreq_driver struct. Also, remove the callback getavg in
>> acpi_cpufreq_driver.
>>
>> Signed-off-by: Stratos Karafotis <[email protected]>
>> ---
>> drivers/cpufreq/Makefile | 2 +-
>> drivers/cpufreq/acpi-cpufreq.c | 5 -----
>> drivers/cpufreq/cpufreq.c | 12 ------------
>> include/linux/cpufreq.h | 6 ------
>> 4 files changed, 1 insertion(+), 24 deletions(-)
>>
>> diff --git a/drivers/cpufreq/Makefile b/drivers/cpufreq/Makefile
>> index 6ad0b91..aebd4ef 100644
>> --- a/drivers/cpufreq/Makefile
>> +++ b/drivers/cpufreq/Makefile
>> @@ -23,7 +23,7 @@ obj-$(CONFIG_GENERIC_CPUFREQ_CPU0) += cpufreq-cpu0.o
>> # powernow-k8 can load then. ACPI is preferred to all other hardware-specific drivers.
>> # speedstep-* is preferred over p4-clockmod.
>>
>> -obj-$(CONFIG_X86_ACPI_CPUFREQ) += acpi-cpufreq.o mperf.o
>
> Should this be done in 3/3 ?
>

acpi-cpufreq does not use mperf after 2/3. Why should we compile it with
CONFIG_X86_ACPI_CPUFREQ?
Do you want me to move the change in 3/3?

Thanks,
Stratos

2013-06-05 08:42:17

by Viresh Kumar

[permalink] [raw]
Subject: Re: [PATCH v2 2/3] cpufreq: Remove unused function __cpufreq_driver_getavg

On 4 June 2013 20:36, Stratos Karafotis <[email protected]> wrote:
> On 06/04/2013 08:19 AM, Viresh Kumar wrote:
>> Should this be done in 3/3 ?
>>
>
> acpi-cpufreq does not use mperf after 2/3. Why should we compile it with
> CONFIG_X86_ACPI_CPUFREQ?
> Do you want me to move the change in 3/3?

I somehow feel now that 3/3 should come before 2/3 and then this change
should be merged into it. And at the end we can have this patch as 3/3..

What do you say? core should go last and users/drivers must go first.

2013-06-05 09:35:43

by Stratos Karafotis

[permalink] [raw]
Subject: Re: [PATCH v2 2/3] cpufreq: Remove unused function __cpufreq_driver_getavg

I think you are right. I will reorder 2/3 and 3/3 with the change you suggested.

Thanks,
Stratos

Viresh Kumar <[email protected]> wrote:

>On 4 June 2013 20:36, Stratos Karafotis <[email protected]> wrote:
>> On 06/04/2013 08:19 AM, Viresh Kumar wrote:
>>> Should this be done in 3/3 ?
>>>
>>
>> acpi-cpufreq does not use mperf after 2/3. Why should we compile it with
>> CONFIG_X86_ACPI_CPUFREQ?
>> Do you want me to move the change in 3/3?
>
>I somehow feel now that 3/3 should come before 2/3 and then this change
>should be merged into it. And at the end we can have this patch as 3/3..
>
>What do you say? core should go last and users/drivers must go first.
????{.n?+???????+%?????ݶ??w??{.n?+????{??G?????{ay?ʇڙ?,j??f???h?????????z_??(?階?ݢj"???m??????G????????????&???~???iO???z??v?^?m???? ????????I?