diff mbox

intel_pstate: Add X86_FEATURE_APERFMPERF to cpu match parameters.

Message ID 1389034756-2262-1-git-send-email-dirk.j.brandewie@intel.com (mailing list archive)
State Accepted, archived
Headers show

Commit Message

dirk.brandewie@gmail.com Jan. 6, 2014, 6:59 p.m. UTC
From: Dirk Brandewie <dirk.j.brandewie@intel.com>

KVM environments do not support APERF/MPERF MSRs. intel_pstate cannot
operate without these registers.

The previous validity checks in intel_pstate_msrs_not_valid() are
insufficent in nested KVMs.

Fixes:
https://bugzilla.redhat.com/show_bug.cgi?id=1046317

Signed-off-by: Dirk Brandewie <dirk.j.brandewie@intel.com>
Cc: All applicable <stable@vger.kernel.org>
---
 drivers/cpufreq/intel_pstate.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

Comments

Rafael J. Wysocki Jan. 6, 2014, 8:45 p.m. UTC | #1
On Monday, January 06, 2014 10:59:16 AM dirk.brandewie@gmail.com wrote:
> From: Dirk Brandewie <dirk.j.brandewie@intel.com>
> 
> KVM environments do not support APERF/MPERF MSRs. intel_pstate cannot
> operate without these registers.
> 
> The previous validity checks in intel_pstate_msrs_not_valid() are
> insufficent in nested KVMs.
> 
> Fixes:
> https://bugzilla.redhat.com/show_bug.cgi?id=1046317
> 
> Signed-off-by: Dirk Brandewie <dirk.j.brandewie@intel.com>

OK, I'll queue it up as a fix for 3.13.

Minor nit: "Fixes:" is for the IDs of commits fixed by your patch.  To reference
a bug entry please use "Buglink" or "References" (which is preferred, because I
will change anything else to that anyway :-)).

Thanks!

> Cc: All applicable <stable@vger.kernel.org>
> ---
>  drivers/cpufreq/intel_pstate.c | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/cpufreq/intel_pstate.c b/drivers/cpufreq/intel_pstate.c
> index 0f63f5d..fe91dad 100644
> --- a/drivers/cpufreq/intel_pstate.c
> +++ b/drivers/cpufreq/intel_pstate.c
> @@ -619,7 +619,8 @@ static void intel_pstate_timer_func(unsigned long __data)
>  }
>  
>  #define ICPU(model, policy) \
> -	{ X86_VENDOR_INTEL, 6, model, X86_FEATURE_ANY, (unsigned long)&policy }
> +	{ X86_VENDOR_INTEL, 6, model, X86_FEATURE_APERFMPERF,\
> +			(unsigned long)&policy }
>  
>  static const struct x86_cpu_id intel_pstate_cpu_ids[] = {
>  	ICPU(0x2a, core_params),
>
diff mbox

Patch

diff --git a/drivers/cpufreq/intel_pstate.c b/drivers/cpufreq/intel_pstate.c
index 0f63f5d..fe91dad 100644
--- a/drivers/cpufreq/intel_pstate.c
+++ b/drivers/cpufreq/intel_pstate.c
@@ -619,7 +619,8 @@  static void intel_pstate_timer_func(unsigned long __data)
 }
 
 #define ICPU(model, policy) \
-	{ X86_VENDOR_INTEL, 6, model, X86_FEATURE_ANY, (unsigned long)&policy }
+	{ X86_VENDOR_INTEL, 6, model, X86_FEATURE_APERFMPERF,\
+			(unsigned long)&policy }
 
 static const struct x86_cpu_id intel_pstate_cpu_ids[] = {
 	ICPU(0x2a, core_params),