linux-pm.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* Re: [REGRESSION] 3.9.0-rcX
       [not found] <CAG9S4UjMeRZECAiigZVLTU4av2ZJNBukyUAoCmiYRjtkdThhFw@mail.gmail.com>
@ 2013-03-24 14:29 ` Viresh Kumar
  2013-03-24 14:53   ` Rafael J. Wysocki
  2013-03-24 15:36   ` [REGRESSION] 3.9.0-rcX Maciej Rutecki
  0 siblings, 2 replies; 7+ messages in thread
From: Viresh Kumar @ 2013-03-24 14:29 UTC (permalink / raw)
  To: Maciej Rutecki
  Cc: Linux Kernel Mailing List, Rafael J. Wysocki, cpufreq, linux-pm

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

On 24 March 2013 19:41, Maciej Rutecki <maciej.rutecki@gmail.com> wrote:
> (long e-mail, sorry ;-))

Don't be, it was useful :)

> Last known good: 3.8.0
>
> Short description:
> 1. On -rc3, after s2ram cpufreq does not set CPU on max frequency on high
> load (on battery).

Try attached patch for this.

> 2. On -rc4 (this is not real regression because I change config between -rc3
> and rc4), "ondemand" does not work. Current frequency is 'strange' (792
> MHz).

I don't really have a reason for that :(
But with your config it is clear that, your working setup has:

# CONFIG_X86_INTEL_PSTATE is not set
# CONFIG_X86_PCC_CPUFREQ is not set
CONFIG_X86_ACPI_CPUFREQ=m

and rc4 version has:

CONFIG_X86_INTEL_PSTATE=y
CONFIG_X86_PCC_CPUFREQ=m
CONFIG_X86_ACPI_CPUFREQ=m

So, i believe you are using another cpufreq driver this, try with same
configuration once.

> 1. Kernel 3.8.0:
>
> Output (show only fisrt CPU, others are same):
> cpu0/cpufreq//affected_cpus:0
> cpu0/cpufreq//related_cpus:0 1 2 3

> Kernel 3.9.0-rc1

> CASE 2
> After boot:
> cpu0/cpufreq//affected_cpus:0 1 2 3
> cpu0/cpufreq//related_cpus:0 1 2 3

My attached patch will restore 1. instead of CASE 2.

> ===============================================================================
> Kernel 3.9.0-rc4
>
> CASE 7
> (normal boot)
> cpu0/cpufreq//affected_cpus:0
> cpu0/cpufreq//related_cpus:0

This must be related to your different driver.

> Config, dmesg:
> http://mrutecki.pl/download/kernel/3.9.0-rc4/cpufreq/

These were very important and helpful.

[-- Attachment #2: 0001-cpufreq-acpi-cpufreq-Don-t-set-policy-related_cpus-f.patch --]
[-- Type: application/octet-stream, Size: 1935 bytes --]

From 0eb6a6ce25c71e60dc69e1897f80b7ce3bb41fb2 Mon Sep 17 00:00:00 2001
Message-Id: <0eb6a6ce25c71e60dc69e1897f80b7ce3bb41fb2.1364134827.git.viresh.kumar@linaro.org>
From: Viresh Kumar <viresh.kumar@linaro.org>
Date: Sat, 23 Mar 2013 23:42:44 +0530
Subject: [PATCH] cpufreq: acpi-cpufreq: Don't set policy->related_cpus from
 .init()

With the addition of following patch:

fcf8058 cpufreq: Simplify cpufreq_add_dev()

cpufreq driver's .init() routine must initialize policy->cpus with mask of all
possible cpus (Online + Offline) that share the clock. Then the core would copy
this mask onto policy->related_cpus and will reset policy->cpus to carry only
online cpus.

acpi-cpufreq driver wasn't updated with this assumption and so sometimes when
we try to hot[un]plug cpus at run time, sysfs directories gets corrupted.

This patch fixes acpi-cpufreq driver against this corruption.

Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
---
 drivers/cpufreq/acpi-cpufreq.c | 2 --
 1 file changed, 2 deletions(-)

diff --git a/drivers/cpufreq/acpi-cpufreq.c b/drivers/cpufreq/acpi-cpufreq.c
index afbef9c..11b8b4b 100644
--- a/drivers/cpufreq/acpi-cpufreq.c
+++ b/drivers/cpufreq/acpi-cpufreq.c
@@ -723,7 +723,6 @@ static int acpi_cpufreq_cpu_init(struct cpufreq_policy *policy)
 	    policy->shared_type == CPUFREQ_SHARED_TYPE_ANY) {
 		cpumask_copy(policy->cpus, perf->shared_cpu_map);
 	}
-	cpumask_copy(policy->related_cpus, perf->shared_cpu_map);
 
 #ifdef CONFIG_SMP
 	dmi_check_system(sw_any_bug_dmi_table);
@@ -735,7 +734,6 @@ static int acpi_cpufreq_cpu_init(struct cpufreq_policy *policy)
 	if (check_amd_hwpstate_cpu(cpu) && !acpi_pstate_strict) {
 		cpumask_clear(policy->cpus);
 		cpumask_set_cpu(cpu, policy->cpus);
-		cpumask_copy(policy->related_cpus, cpu_sibling_mask(cpu));
 		policy->shared_type = CPUFREQ_SHARED_TYPE_HW;
 		pr_info_once(PFX "overriding BIOS provided _PSD data\n");
 	}
-- 
1.7.12.rc2.18.g61b472e


^ permalink raw reply related	[flat|nested] 7+ messages in thread

* Re: [REGRESSION] 3.9.0-rcX
  2013-03-24 14:29 ` [REGRESSION] 3.9.0-rcX Viresh Kumar
@ 2013-03-24 14:53   ` Rafael J. Wysocki
  2013-03-25 15:48     ` [REGRESSION] [CPUFREQ] 3.9.0-rcX Dirk Brandewie
  2013-03-24 15:36   ` [REGRESSION] 3.9.0-rcX Maciej Rutecki
  1 sibling, 1 reply; 7+ messages in thread
From: Rafael J. Wysocki @ 2013-03-24 14:53 UTC (permalink / raw)
  To: Viresh Kumar, Dirk Brandewie
  Cc: Maciej Rutecki, Linux Kernel Mailing List, cpufreq, linux-pm

On Sunday, March 24, 2013 07:59:35 PM Viresh Kumar wrote:
> On 24 March 2013 19:41, Maciej Rutecki <maciej.rutecki@gmail.com> wrote:
> > (long e-mail, sorry ;-))
> 
> Don't be, it was useful :)
> 
> > Last known good: 3.8.0
> >
> > Short description:
> > 1. On -rc3, after s2ram cpufreq does not set CPU on max frequency on high
> > load (on battery).
> 
> Try attached patch for this.
> 
> > 2. On -rc4 (this is not real regression because I change config between -rc3
> > and rc4), "ondemand" does not work. Current frequency is 'strange' (792
> > MHz).
> 
> I don't really have a reason for that :(
> But with your config it is clear that, your working setup has:
> 
> # CONFIG_X86_INTEL_PSTATE is not set
> # CONFIG_X86_PCC_CPUFREQ is not set
> CONFIG_X86_ACPI_CPUFREQ=m
> 
> and rc4 version has:
> 
> CONFIG_X86_INTEL_PSTATE=y
> CONFIG_X86_PCC_CPUFREQ=m
> CONFIG_X86_ACPI_CPUFREQ=m
> 
> So, i believe you are using another cpufreq driver this, try with same
> configuration once.
> 
> > 1. Kernel 3.8.0:
> >
> > Output (show only fisrt CPU, others are same):
> > cpu0/cpufreq//affected_cpus:0
> > cpu0/cpufreq//related_cpus:0 1 2 3
> 
> > Kernel 3.9.0-rc1
> 
> > CASE 2
> > After boot:
> > cpu0/cpufreq//affected_cpus:0 1 2 3
> > cpu0/cpufreq//related_cpus:0 1 2 3
> 
> My attached patch will restore 1. instead of CASE 2.
> 
> > ===============================================================================
> > Kernel 3.9.0-rc4
> >
> > CASE 7
> > (normal boot)
> > cpu0/cpufreq//affected_cpus:0
> > cpu0/cpufreq//related_cpus:0
> 
> This must be related to your different driver.

Yes, intel_pstate is not really a cpufreq driver.  It just overtakes the
whole subsystem.

Dirk, can you please check if this is as intended?

Thanks,
Rafael


-- 
I speak only for myself.
Rafael J. Wysocki, Intel Open Source Technology Center.

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [REGRESSION] 3.9.0-rcX
  2013-03-24 14:29 ` [REGRESSION] 3.9.0-rcX Viresh Kumar
  2013-03-24 14:53   ` Rafael J. Wysocki
@ 2013-03-24 15:36   ` Maciej Rutecki
  2013-03-24 15:58     ` Rafael J. Wysocki
  2013-03-24 15:59     ` Viresh Kumar
  1 sibling, 2 replies; 7+ messages in thread
From: Maciej Rutecki @ 2013-03-24 15:36 UTC (permalink / raw)
  To: Viresh Kumar
  Cc: Linux Kernel Mailing List, Rafael J. Wysocki, cpufreq, linux-pm

2013/3/24 Viresh Kumar <viresh.kumar@linaro.org>:
> On 24 March 2013 19:41, Maciej Rutecki <maciej.rutecki@gmail.com> wrote:
>> (long e-mail, sorry ;-))
>
> Don't be, it was useful :)
>
>> Last known good: 3.8.0
>>
>> Short description:
>> 1. On -rc3, after s2ram cpufreq does not set CPU on max frequency on high
>> load (on battery).
>
> Try attached patch for this.
>
-rc4 + yours path, config based on -rc3:

# CONFIG_X86_INTEL_PSTATE is not set
# CONFIG_X86_PCC_CPUFREQ is not set

(use acpi-cpufreq)

Freq. seems be ok. 'ondemand' governor works as expected.

Regards

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [REGRESSION] [CPUFREQ] 3.9.0-rcX
  2013-03-24 15:58     ` Rafael J. Wysocki
@ 2013-03-24 15:56       ` Viresh Kumar
  0 siblings, 0 replies; 7+ messages in thread
From: Viresh Kumar @ 2013-03-24 15:56 UTC (permalink / raw)
  To: Rafael J. Wysocki
  Cc: Maciej Rutecki, Linux Kernel Mailing List, cpufreq, linux-pm

On 24 March 2013 21:28, Rafael J. Wysocki <rjw@sisk.pl> wrote:
> Good, thanks for testing.
>
> Viresh, do you want me to apply that patch or are you going to send another
> one?

I haven't send it upstream until now as i was waiting for Duncan to reply back.
But as Maciej has tested it now, i will send it upstream and you can apply it.

--
viresh

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [REGRESSION] 3.9.0-rcX
  2013-03-24 15:36   ` [REGRESSION] 3.9.0-rcX Maciej Rutecki
@ 2013-03-24 15:58     ` Rafael J. Wysocki
  2013-03-24 15:56       ` [REGRESSION] [CPUFREQ] 3.9.0-rcX Viresh Kumar
  2013-03-24 15:59     ` Viresh Kumar
  1 sibling, 1 reply; 7+ messages in thread
From: Rafael J. Wysocki @ 2013-03-24 15:58 UTC (permalink / raw)
  To: Maciej Rutecki, Viresh Kumar; +Cc: Linux Kernel Mailing List, cpufreq, linux-pm

On Sunday, March 24, 2013 04:36:25 PM Maciej Rutecki wrote:
> 2013/3/24 Viresh Kumar <viresh.kumar@linaro.org>:
> > On 24 March 2013 19:41, Maciej Rutecki <maciej.rutecki@gmail.com> wrote:
> >> (long e-mail, sorry ;-))
> >
> > Don't be, it was useful :)
> >
> >> Last known good: 3.8.0
> >>
> >> Short description:
> >> 1. On -rc3, after s2ram cpufreq does not set CPU on max frequency on high
> >> load (on battery).
> >
> > Try attached patch for this.
> >
> -rc4 + yours path, config based on -rc3:
> 
> # CONFIG_X86_INTEL_PSTATE is not set
> # CONFIG_X86_PCC_CPUFREQ is not set
> 
> (use acpi-cpufreq)
> 
> Freq. seems be ok. 'ondemand' governor works as expected.

Good, thanks for testing.

Viresh, do you want me to apply that patch or are you going to send another
one?

Rafael


-- 
I speak only for myself.
Rafael J. Wysocki, Intel Open Source Technology Center.

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [REGRESSION] [CPUFREQ] 3.9.0-rcX
  2013-03-24 15:36   ` [REGRESSION] 3.9.0-rcX Maciej Rutecki
  2013-03-24 15:58     ` Rafael J. Wysocki
@ 2013-03-24 15:59     ` Viresh Kumar
  1 sibling, 0 replies; 7+ messages in thread
From: Viresh Kumar @ 2013-03-24 15:59 UTC (permalink / raw)
  To: Maciej Rutecki
  Cc: Linux Kernel Mailing List, Rafael J. Wysocki, cpufreq, linux-pm

On 24 March 2013 21:06, Maciej Rutecki <maciej.rutecki@gmail.com> wrote:
> -rc4 + yours path, config based on -rc3:
>
> # CONFIG_X86_INTEL_PSTATE is not set
> # CONFIG_X86_PCC_CPUFREQ is not set
>
> (use acpi-cpufreq)
>
> Freq. seems be ok. 'ondemand' governor works as expected.

Thanks for testing it. I have sent this patch upstream now with your Tested-by.

--
viresh

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [REGRESSION] [CPUFREQ] 3.9.0-rcX
  2013-03-24 14:53   ` Rafael J. Wysocki
@ 2013-03-25 15:48     ` Dirk Brandewie
  0 siblings, 0 replies; 7+ messages in thread
From: Dirk Brandewie @ 2013-03-25 15:48 UTC (permalink / raw)
  To: Rafael J. Wysocki
  Cc: Viresh Kumar, Dirk Brandewie, Maciej Rutecki,
	Linux Kernel Mailing List, cpufreq, linux-pm

On 03/24/2013 07:53 AM, Rafael J. Wysocki wrote:
> On Sunday, March 24, 2013 07:59:35 PM Viresh Kumar wrote:
>> On 24 March 2013 19:41, Maciej Rutecki <maciej.rutecki@gmail.com> wrote:
>>> (long e-mail, sorry ;-))
>>
>> Don't be, it was useful :)
>>
>>> Last known good: 3.8.0
>>>
>>> Short description:
>>> 1. On -rc3, after s2ram cpufreq does not set CPU on max frequency on high
>>> load (on battery).
>>
>> Try attached patch for this.
>>
>>> 2. On -rc4 (this is not real regression because I change config between -rc3
>>> and rc4), "ondemand" does not work. Current frequency is 'strange' (792
>>> MHz).
>>> ===============================================================================
>>> Kernel 3.9.0-rc4
>>>
>>> CASE 7
>>> (normal boot)
>>> cpu0/cpufreq//affected_cpus:0
>>> cpu0/cpufreq//related_cpus:0
>>
>> This must be related to your different driver.
>
> Yes, intel_pstate is not really a cpufreq driver.  It just overtakes the
> whole subsystem.
>
> Dirk, can you please check if this is as intended?

This is working as intended.  The intel_pstate driver has the governor
integrated into the scaling driver and does not use external governors.

The reason the frequency is strange is because intel_pstate returns a
measured value of the effective frequency that the core ran at during
the last time it was sampled.

--Dirk

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2013-03-25 15:48 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
     [not found] <CAG9S4UjMeRZECAiigZVLTU4av2ZJNBukyUAoCmiYRjtkdThhFw@mail.gmail.com>
2013-03-24 14:29 ` [REGRESSION] 3.9.0-rcX Viresh Kumar
2013-03-24 14:53   ` Rafael J. Wysocki
2013-03-25 15:48     ` [REGRESSION] [CPUFREQ] 3.9.0-rcX Dirk Brandewie
2013-03-24 15:36   ` [REGRESSION] 3.9.0-rcX Maciej Rutecki
2013-03-24 15:58     ` Rafael J. Wysocki
2013-03-24 15:56       ` [REGRESSION] [CPUFREQ] 3.9.0-rcX Viresh Kumar
2013-03-24 15:59     ` Viresh Kumar

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).