[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <CABgObfaNZqE+z5WA8VRPco9c_Swa15qyom7ieHGFRWzw39kU=g@mail.gmail.com>
Date: Fri, 20 May 2022 14:00:54 +0200
From: Paolo Bonzini <pbonzini@...hat.com>
To: Like Xu <like.xu.linux@...il.com>
Cc: Sean Christopherson <seanjc@...gle.com>,
Vitaly Kuznetsov <vkuznets@...hat.com>,
Wanpeng Li <wanpengli@...cent.com>,
Jim Mattson <jmattson@...gle.com>,
Joerg Roedel <joro@...tes.org>, kvm <kvm@...r.kernel.org>,
"Kernel Mailing List, Linux" <linux-kernel@...r.kernel.org>
Subject: Re: [PATCH 1/3] KVM: x86/pmu: Move the vmx_icl_pebs_cpu[] definition
out of the header file
Queued all three, thanks.
Paolo
On Wed, May 18, 2022 at 7:01 PM Like Xu <like.xu.linux@...il.com> wrote:
>
> From: Like Xu <likexu@...cent.com>
>
> Defining a static const array in a header file would introduce redundant
> definitions to the point of confusing semantics, and such a use case would
> only bring complaints from the compiler:
>
> arch/x86/kvm/pmu.h:20:32: warning: ‘vmx_icl_pebs_cpu’ defined but not used [-Wunused-const-variable=]
> 20 | static const struct x86_cpu_id vmx_icl_pebs_cpu[] = {
> | ^~~~~~~~~~~~~~~~
>
> Fixes: a095df2c5f48 ("KVM: x86/pmu: Adjust precise_ip to emulate Ice Lake guest PDIR counter")
> Signed-off-by: Like Xu <likexu@...cent.com>
> ---
> arch/x86/kvm/pmu.c | 7 +++++++
> arch/x86/kvm/pmu.h | 8 --------
> 2 files changed, 7 insertions(+), 8 deletions(-)
>
> diff --git a/arch/x86/kvm/pmu.c b/arch/x86/kvm/pmu.c
> index b5d0c36b869b..a2eaae85d97b 100644
> --- a/arch/x86/kvm/pmu.c
> +++ b/arch/x86/kvm/pmu.c
> @@ -16,6 +16,7 @@
> #include <linux/bsearch.h>
> #include <linux/sort.h>
> #include <asm/perf_event.h>
> +#include <asm/cpu_device_id.h>
> #include "x86.h"
> #include "cpuid.h"
> #include "lapic.h"
> @@ -27,6 +28,12 @@
> struct x86_pmu_capability __read_mostly kvm_pmu_cap;
> EXPORT_SYMBOL_GPL(kvm_pmu_cap);
>
> +static const struct x86_cpu_id vmx_icl_pebs_cpu[] = {
> + X86_MATCH_INTEL_FAM6_MODEL(ICELAKE_D, NULL),
> + X86_MATCH_INTEL_FAM6_MODEL(ICELAKE_X, NULL),
> + {}
> +};
> +
> /* NOTE:
> * - Each perf counter is defined as "struct kvm_pmc";
> * - There are two types of perf counters: general purpose (gp) and fixed.
> diff --git a/arch/x86/kvm/pmu.h b/arch/x86/kvm/pmu.h
> index dbf4c83519a4..ecf2962510e4 100644
> --- a/arch/x86/kvm/pmu.h
> +++ b/arch/x86/kvm/pmu.h
> @@ -4,8 +4,6 @@
>
> #include <linux/nospec.h>
>
> -#include <asm/cpu_device_id.h>
> -
> #define vcpu_to_pmu(vcpu) (&(vcpu)->arch.pmu)
> #define pmu_to_vcpu(pmu) (container_of((pmu), struct kvm_vcpu, arch.pmu))
> #define pmc_to_pmu(pmc) (&(pmc)->vcpu->arch.pmu)
> @@ -17,12 +15,6 @@
> #define VMWARE_BACKDOOR_PMC_REAL_TIME 0x10001
> #define VMWARE_BACKDOOR_PMC_APPARENT_TIME 0x10002
>
> -static const struct x86_cpu_id vmx_icl_pebs_cpu[] = {
> - X86_MATCH_INTEL_FAM6_MODEL(ICELAKE_D, NULL),
> - X86_MATCH_INTEL_FAM6_MODEL(ICELAKE_X, NULL),
> - {}
> -};
> -
> struct kvm_event_hw_type_mapping {
> u8 eventsel;
> u8 unit_mask;
> --
> 2.36.1
>
Powered by blists - more mailing lists