Re: [PATCH] RDMSR before test_cpu_capacity brings about KVM warning

2015-08-17 Thread Han, Huaitong
On Mon, 2015-08-17 at 15:04 +0300, Alexander Shishkin wrote:
> Huaitong Han  writes:
> 
> > rdmsrl_safe does not lead to #GP in native kernel although CPU
> > does not support INTEL_PT, but if KVM does not support INTEL_PT,
> > the codes cannot understand MSR_IA32_RTIT_CTL, and the warning
> > is produced.
> 
> "the codes"?
KVM codes. Current KVM does not support Intel_PT. But guest kernel may
readmsr MSR_IA32_RTIT_CTL that KVM cannot understand.
Details from https://bugzilla.kernel.org/show_bug.cgi?id=102651
> 
> > If KVM does not support INTEL_PT, its guest CPUID also does not.
> > So test_cpu_cap is added before RDMSR, and it is more in line with
> > the code style.
> 
> It does make more sense like this, but please improve this commit
> message. And don't forget to include Peter in the loop.
I will update the commit message.
> 
> FWIW,
> 
> Reviewed-by: Alexander Shishkin 
> 
> Regards,
> --
> Alex



Re: [PATCH] RDMSR before test_cpu_capacity brings about KVM warning

2015-08-17 Thread Alexander Shishkin
Huaitong Han  writes:

> rdmsrl_safe does not lead to #GP in native kernel although CPU
> does not support INTEL_PT, but if KVM does not support INTEL_PT,
> the codes cannot understand MSR_IA32_RTIT_CTL, and the warning
> is produced.

"the codes"?

> If KVM does not support INTEL_PT, its guest CPUID also does not.
> So test_cpu_cap is added before RDMSR, and it is more in line with
> the code style.

It does make more sense like this, but please improve this commit
message. And don't forget to include Peter in the loop.

FWIW,

Reviewed-by: Alexander Shishkin 

Regards,
--
Alex
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH] RDMSR before test_cpu_capacity brings about KVM warning

2015-08-17 Thread Alexander Shishkin
Huaitong Han huaitong@intel.com writes:

 rdmsrl_safe does not lead to #GP in native kernel although CPU
 does not support INTEL_PT, but if KVM does not support INTEL_PT,
 the codes cannot understand MSR_IA32_RTIT_CTL, and the warning
 is produced.

the codes?

 If KVM does not support INTEL_PT, its guest CPUID also does not.
 So test_cpu_cap is added before RDMSR, and it is more in line with
 the code style.

It does make more sense like this, but please improve this commit
message. And don't forget to include Peter in the loop.

FWIW,

Reviewed-by: Alexander Shishkin alexander.shish...@linux.intel.com

Regards,
--
Alex
--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH] RDMSR before test_cpu_capacity brings about KVM warning

2015-08-17 Thread Han, Huaitong
On Mon, 2015-08-17 at 15:04 +0300, Alexander Shishkin wrote:
 Huaitong Han huaitong@intel.com writes:
 
  rdmsrl_safe does not lead to #GP in native kernel although CPU
  does not support INTEL_PT, but if KVM does not support INTEL_PT,
  the codes cannot understand MSR_IA32_RTIT_CTL, and the warning
  is produced.
 
 the codes?
KVM codes. Current KVM does not support Intel_PT. But guest kernel may
readmsr MSR_IA32_RTIT_CTL that KVM cannot understand.
Details from https://bugzilla.kernel.org/show_bug.cgi?id=102651
 
  If KVM does not support INTEL_PT, its guest CPUID also does not.
  So test_cpu_cap is added before RDMSR, and it is more in line with
  the code style.
 
 It does make more sense like this, but please improve this commit
 message. And don't forget to include Peter in the loop.
I will update the commit message.
 
 FWIW,
 
 Reviewed-by: Alexander Shishkin alexander.shish...@linux.intel.com
 
 Regards,
 --
 Alex



[PATCH] RDMSR before test_cpu_capacity brings about KVM warning

2015-08-14 Thread Huaitong Han
rdmsrl_safe does not lead to #GP in native kernel although CPU
does not support INTEL_PT, but if KVM does not support INTEL_PT,
the codes cannot understand MSR_IA32_RTIT_CTL, and the warning
is produced.

If KVM does not support INTEL_PT, its guest CPUID also does not.
So test_cpu_cap is added before RDMSR, and it is more in line with
the code style.

Signed-off-by: Huaitong Han 

diff --git a/arch/x86/kernel/cpu/perf_event_intel_pt.c 
b/arch/x86/kernel/cpu/perf_event_intel_pt.c
index 183de71..4cc6492 100644
--- a/arch/x86/kernel/cpu/perf_event_intel_pt.c
+++ b/arch/x86/kernel/cpu/perf_event_intel_pt.c
@@ -123,9 +123,6 @@ static int __init pt_pmu_hw_init(void)
long i;
 
attrs = NULL;
-   ret = -ENODEV;
-   if (!test_cpu_cap(_cpu_data, X86_FEATURE_INTEL_PT))
-   goto fail;
 
for (i = 0; i < PT_CPUID_LEAVES; i++) {
cpuid_count(20, i,
@@ -1061,6 +1058,10 @@ static __init int pt_init(void)
int ret, cpu, prior_warn = 0;
 
BUILD_BUG_ON(sizeof(struct topa) > PAGE_SIZE);
+
+   if (!test_cpu_cap(_cpu_data, X86_FEATURE_INTEL_PT))
+   return -ENODEV;
+
get_online_cpus();
for_each_online_cpu(cpu) {
u64 ctl;
-- 
1.9.1

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH] RDMSR before test_cpu_capacity brings about KVM warning

2015-08-14 Thread Huaitong Han
rdmsrl_safe does not lead to #GP in native kernel although CPU
does not support INTEL_PT, but if KVM does not support INTEL_PT,
the codes cannot understand MSR_IA32_RTIT_CTL, and the warning
is produced.

If KVM does not support INTEL_PT, its guest CPUID also does not.
So test_cpu_cap is added before RDMSR, and it is more in line with
the code style.

Signed-off-by: Huaitong Han huaitong@intel.com

diff --git a/arch/x86/kernel/cpu/perf_event_intel_pt.c 
b/arch/x86/kernel/cpu/perf_event_intel_pt.c
index 183de71..4cc6492 100644
--- a/arch/x86/kernel/cpu/perf_event_intel_pt.c
+++ b/arch/x86/kernel/cpu/perf_event_intel_pt.c
@@ -123,9 +123,6 @@ static int __init pt_pmu_hw_init(void)
long i;
 
attrs = NULL;
-   ret = -ENODEV;
-   if (!test_cpu_cap(boot_cpu_data, X86_FEATURE_INTEL_PT))
-   goto fail;
 
for (i = 0; i  PT_CPUID_LEAVES; i++) {
cpuid_count(20, i,
@@ -1061,6 +1058,10 @@ static __init int pt_init(void)
int ret, cpu, prior_warn = 0;
 
BUILD_BUG_ON(sizeof(struct topa)  PAGE_SIZE);
+
+   if (!test_cpu_cap(boot_cpu_data, X86_FEATURE_INTEL_PT))
+   return -ENODEV;
+
get_online_cpus();
for_each_online_cpu(cpu) {
u64 ctl;
-- 
1.9.1

--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/