All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] intel_pstate: enable hwp per cpu
@ 2015-07-14 16:46 Kristen Carlson Accardi
  2015-07-14 17:58 ` Kristen Carlson Accardi
  0 siblings, 1 reply; 5+ messages in thread
From: Kristen Carlson Accardi @ 2015-07-14 16:46 UTC (permalink / raw)
  To: rjw; +Cc: linux-pm

HWP previously was only enabled at driver load time, on the boot
cpu, however, HWP must be enabled per package. Move the code to
enable HWP to the cpufreq driver init path so that it will be
called per cpu.

Signed-off-by:  Kristen Carlson Accardi <kristen@linux.intel.com>
Tested-by: David Zhuang <david.zhuang@oracle.com>
---
 drivers/cpufreq/intel_pstate.c | 11 +++++++----
 1 file changed, 7 insertions(+), 4 deletions(-)

diff --git a/drivers/cpufreq/intel_pstate.c b/drivers/cpufreq/intel_pstate.c
index 15ada47..763d8f3 100644
--- a/drivers/cpufreq/intel_pstate.c
+++ b/drivers/cpufreq/intel_pstate.c
@@ -484,12 +484,11 @@ static void __init intel_pstate_sysfs_expose_params(void)
 }
 /************************** sysfs end ************************/
 
-static void intel_pstate_hwp_enable(void)
+static void intel_pstate_hwp_enable(struct cpudata *cpudata)
 {
-	hwp_active++;
 	pr_info("intel_pstate: HWP enabled\n");
 
-	wrmsrl( MSR_PM_ENABLE, 0x1);
+	wrmsrl_on_cpu(cpudata->cpu, MSR_PM_ENABLE, 0x1);
 }
 
 static int byt_get_min_pstate(void)
@@ -932,6 +931,10 @@ static int intel_pstate_init_cpu(unsigned int cpunum)
 	cpu = all_cpu_data[cpunum];
 
 	cpu->cpu = cpunum;
+
+	if (hwp_active)
+		intel_pstate_hwp_enable(cpu);
+
 	intel_pstate_get_cpu_pstates(cpu);
 
 	init_timer_deferrable(&cpu->timer);
@@ -1245,7 +1248,7 @@ static int __init intel_pstate_init(void)
 		return -ENOMEM;
 
 	if (static_cpu_has_safe(X86_FEATURE_HWP) && !no_hwp)
-		intel_pstate_hwp_enable();
+		hwp_active++;
 
 	if (!hwp_active && hwp_only)
 		goto out;
-- 
2.4.3


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

* Re: [PATCH] intel_pstate: enable hwp per cpu
  2015-07-14 16:46 [PATCH] intel_pstate: enable hwp per cpu Kristen Carlson Accardi
@ 2015-07-14 17:58 ` Kristen Carlson Accardi
  2015-07-15 11:17   ` yu chen
  0 siblings, 1 reply; 5+ messages in thread
From: Kristen Carlson Accardi @ 2015-07-14 17:58 UTC (permalink / raw)
  To: rjw; +Cc: linux-pm

On Tue, 14 Jul 2015 09:46:23 -0700
Kristen Carlson Accardi <kristen@linux.intel.com> wrote:

> HWP previously was only enabled at driver load time, on the boot
> cpu, however, HWP must be enabled per package. Move the code to
> enable HWP to the cpufreq driver init path so that it will be
> called per cpu.
> 
> Signed-off-by:  Kristen Carlson Accardi <kristen@linux.intel.com>
> Tested-by: David Zhuang <david.zhuang@oracle.com>

Oops - don't apply this one yet please.  I think I
might have broken S3 resume.

Sorry for the noise,
Kristen

> ---
>  drivers/cpufreq/intel_pstate.c | 11 +++++++----
>  1 file changed, 7 insertions(+), 4 deletions(-)
> 
> diff --git a/drivers/cpufreq/intel_pstate.c b/drivers/cpufreq/intel_pstate.c
> index 15ada47..763d8f3 100644
> --- a/drivers/cpufreq/intel_pstate.c
> +++ b/drivers/cpufreq/intel_pstate.c
> @@ -484,12 +484,11 @@ static void __init intel_pstate_sysfs_expose_params(void)
>  }
>  /************************** sysfs end ************************/
>  
> -static void intel_pstate_hwp_enable(void)
> +static void intel_pstate_hwp_enable(struct cpudata *cpudata)
>  {
> -	hwp_active++;
>  	pr_info("intel_pstate: HWP enabled\n");
>  
> -	wrmsrl( MSR_PM_ENABLE, 0x1);
> +	wrmsrl_on_cpu(cpudata->cpu, MSR_PM_ENABLE, 0x1);
>  }
>  
>  static int byt_get_min_pstate(void)
> @@ -932,6 +931,10 @@ static int intel_pstate_init_cpu(unsigned int cpunum)
>  	cpu = all_cpu_data[cpunum];
>  
>  	cpu->cpu = cpunum;
> +
> +	if (hwp_active)
> +		intel_pstate_hwp_enable(cpu);
> +
>  	intel_pstate_get_cpu_pstates(cpu);
>  
>  	init_timer_deferrable(&cpu->timer);
> @@ -1245,7 +1248,7 @@ static int __init intel_pstate_init(void)
>  		return -ENOMEM;
>  
>  	if (static_cpu_has_safe(X86_FEATURE_HWP) && !no_hwp)
> -		intel_pstate_hwp_enable();
> +		hwp_active++;
>  
>  	if (!hwp_active && hwp_only)
>  		goto out;


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

* Re: [PATCH] intel_pstate: enable hwp per cpu
  2015-07-14 17:58 ` Kristen Carlson Accardi
@ 2015-07-15 11:17   ` yu chen
  2015-07-15 14:41     ` Kristen Carlson Accardi
  0 siblings, 1 reply; 5+ messages in thread
From: yu chen @ 2015-07-15 11:17 UTC (permalink / raw)
  To: Kristen Carlson Accardi; +Cc: rjw, linux-pm

On Wed, Jul 15, 2015 at 1:58 AM, Kristen Carlson Accardi
<kristen@linux.intel.com> wrote:

>
> Oops - don't apply this one yet please.  I think I
> might have broken S3 resume.
>

Hi, Kristen
This patch will fix the S3 resume panic bug.
We encountered panic on kernel without this patch applied last week.
After this patch applied,  each cpu will get a chance to
re-enable HWP in intel_pstate_cpu_init, after resuming.

Yu

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

* Re: [PATCH] intel_pstate: enable hwp per cpu
  2015-07-15 11:17   ` yu chen
@ 2015-07-15 14:41     ` Kristen Carlson Accardi
  2015-07-16  0:36       ` Rafael J. Wysocki
  0 siblings, 1 reply; 5+ messages in thread
From: Kristen Carlson Accardi @ 2015-07-15 14:41 UTC (permalink / raw)
  To: yu chen; +Cc: rjw, linux-pm

On Wed, 15 Jul 2015 19:17:53 +0800
yu chen <yu.chen.surf@gmail.com> wrote:

> On Wed, Jul 15, 2015 at 1:58 AM, Kristen Carlson Accardi
> <kristen@linux.intel.com> wrote:
> 
> >
> > Oops - don't apply this one yet please.  I think I
> > might have broken S3 resume.
> >
> 
> Hi, Kristen
> This patch will fix the S3 resume panic bug.
> We encountered panic on kernel without this patch applied last week.
> After this patch applied,  each cpu will get a chance to
> re-enable HWP in intel_pstate_cpu_init, after resuming.
> 
> Yu

Ok.  Rafael, would you mind applying the patch after all?  False
alarm :).

Thanks,
Kristen

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

* Re: [PATCH] intel_pstate: enable hwp per cpu
  2015-07-15 14:41     ` Kristen Carlson Accardi
@ 2015-07-16  0:36       ` Rafael J. Wysocki
  0 siblings, 0 replies; 5+ messages in thread
From: Rafael J. Wysocki @ 2015-07-16  0:36 UTC (permalink / raw)
  To: Kristen Carlson Accardi; +Cc: yu chen, linux-pm

On Wednesday, July 15, 2015 07:41:45 AM Kristen Carlson Accardi wrote:
> On Wed, 15 Jul 2015 19:17:53 +0800
> yu chen <yu.chen.surf@gmail.com> wrote:
> 
> > On Wed, Jul 15, 2015 at 1:58 AM, Kristen Carlson Accardi
> > <kristen@linux.intel.com> wrote:
> > 
> > >
> > > Oops - don't apply this one yet please.  I think I
> > > might have broken S3 resume.
> > >
> > 
> > Hi, Kristen
> > This patch will fix the S3 resume panic bug.
> > We encountered panic on kernel without this patch applied last week.
> > After this patch applied,  each cpu will get a chance to
> > re-enable HWP in intel_pstate_cpu_init, after resuming.
> > 
> > Yu
> 
> Ok.  Rafael, would you mind applying the patch after all?  False
> alarm :).

OK, queuing up for 4.3, thanks!


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

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

end of thread, other threads:[~2015-07-16  0:09 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-07-14 16:46 [PATCH] intel_pstate: enable hwp per cpu Kristen Carlson Accardi
2015-07-14 17:58 ` Kristen Carlson Accardi
2015-07-15 11:17   ` yu chen
2015-07-15 14:41     ` Kristen Carlson Accardi
2015-07-16  0:36       ` Rafael J. Wysocki

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.