RE: [PATCH] KVM: x86: Expose CLDEMOTE CPU feature to guest VM

From: Liu, Jingqi
Date: Mon Jun 11 2018 - 22:24:14 EST


On 5/8/2018 12:30 AM, Paolo Bonzini wrote:

>
> On 04/05/2018 05:55, Jingqi Liu wrote:
> > The CLDEMOTE instruction hints to hardware that the cache line that
> > contains the linear address should be moved("demoted") from the
> > cache(s) closest to the processor core to a level more distant from
> > the processor core. This may accelerate subsequent accesses to the
> > line by other cores in the same coherence domain, especially if the
> > line was written by the core that demotes the line.
> >
> > This patch exposes the cldemote feature to the guest.
> >
> > The release document ref below link:
> > https://software.intel.com/sites/default/files/managed/c5/15/\
> > architecture-instruction-set-extensions-programming-reference.pdf
> > This patch has a dependency on https://lkml.org/lkml/2018/4/23/928
> >
> > Signed-off-by: Jingqi Liu <jingqi.liu@xxxxxxxxx>
> > Signed-off-by: Wei Wang <wei.w.wang@xxxxxxxxx>
>
> Thanks. Note that the Signed-off-by chain for the patch looks strange, the
> submitter should be the last (because it is a chain).
>
> In the meanwhile, Ingo, Thomas, would it be possible to get a topic branch for
> that patch ("[PATCH] x86/cpufeatures: Enumerate cldemote instruction")?
>

I had re-sent the patch: https://lkml.org/lkml/2018/5/21/91

Hi Ingo, Thomas,
Would it be possible to get a topic branch for that patch ("[PATCH] x86/cpufeatures: Enumerate cldemote instruction")?

Hi Paolo,
Could you help to review this patch ?

Thanks
Jingqi

> Thanks,
>
> Paolo
>
>
> > ---
> > arch/x86/kvm/cpuid.c | 3 ++-
> > 1 file changed, 2 insertions(+), 1 deletion(-)
> >
> > diff --git a/arch/x86/kvm/cpuid.c b/arch/x86/kvm/cpuid.c index
> > 82055b9..72d8c49 100644
> > --- a/arch/x86/kvm/cpuid.c
> > +++ b/arch/x86/kvm/cpuid.c
> > @@ -403,7 +403,8 @@ static inline int __do_cpuid_ent(struct
> kvm_cpuid_entry2 *entry, u32 function,
> > const u32 kvm_cpuid_7_0_ecx_x86_features =
> > F(AVX512VBMI) | F(LA57) | F(PKU) | 0 /*OSPKE*/ |
> > F(AVX512_VPOPCNTDQ) | F(UMIP) | F(AVX512_VBMI2) | F(GFNI)
> |
> > - F(VAES) | F(VPCLMULQDQ) | F(AVX512_VNNI) |
> F(AVX512_BITALG);
> > + F(VAES) | F(VPCLMULQDQ) | F(AVX512_VNNI) |
> F(AVX512_BITALG) |
> > + F(CLDEMOTE);
> >
> > /* cpuid 7.0.edx*/
> > const u32 kvm_cpuid_7_0_edx_x86_features =
> >