Re: [PATCH] RDMSR before test_cpu_capacity brings about KVM warning
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
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
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
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
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
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/