All of lore.kernel.org
 help / color / mirror / Atom feed
From: Xiaoyao Li <xiaoyao.li@intel.com>
To: Paolo Bonzini <pbonzini@redhat.com>,
	Thomas Gleixner <tglx@linutronix.de>,
	Sean Christopherson <sean.j.christopherson@intel.com>,
	kvm@vger.kernel.org
Cc: linux-kernel@vger.kernel.org, x86@kernel.org,
	Ingo Molnar <mingo@redhat.com>, Borislav Petkov <bp@alien8.de>,
	"H. Peter Anvin" <hpa@zytor.com>,
	Andy Lutomirski <luto@kernel.org>,
	peterz@infradead.org, Arvind Sankar <nivedita@alum.mit.edu>,
	Tony Luck <tony.luck@intel.com>,
	Fenghua Yu <fenghua.yu@intel.com>
Subject: Re: [PATCH v9 0/8] KVM: Add virtualization support of split lock detection
Date: Wed, 1 Jul 2020 10:46:59 +0800	[thread overview]
Message-ID: <45214dc8-08eb-5754-4c5c-e2de18592eb7@intel.com> (raw)
In-Reply-To: <20200509110542.8159-1-xiaoyao.li@intel.com>

Ping for comments.

On 5/9/2020 7:05 PM, Xiaoyao Li wrote:
> This series aims to add the virtualization of split lock detection in
> KVM.
> 
> Due to the fact that split lock detection is tightly coupled with CPU
> model and CPU model is configurable by host VMM, we elect to use
> paravirt method to expose and enumerate it for guest.
> 
> Changes in v9
>   - rebase to v5.7-rc4
>   - Add one patch to rename TIF_SLD to TIF_SLD_DISABLED;
>   - Add one patch to remove bogus case in handle_guest_split_lock;
>   - Introduce flag X86_FEATURE_SPLIT_LOCK_DETECT_FATAL and thus drop
>     sld_state;
>   - Use X86_FEATURE_SPLIT_LOCK_DETECT and X86_FEATURE_SPLIT_LOCK_DETECT_FATAL
>     to determine the SLD state of host;
>   - Introduce split_lock_virt_switch() and two wrappers for KVM instead
>     of sld_update_to();
>   - Use paravirt to expose and enumerate split lock detection for guest;
>   - Split lock detection can be exposed to guest when host is sld_fatal,
>     even though host is SMT available.
> 
> Changes in v8:
> https://lkml.kernel.org/r/20200414063129.133630-1-xiaoyao.li@intel.com
>   - rebase to v5.7-rc1.
>   - basic enabling of split lock detection already merged.
>   - When host is sld_warn and nosmt, load guest's sld bit when in KVM
>     context, i.e., between vmx_prepare_switch_to_guest() and before
>     vmx_prepare_switch_to_host(), KVM uses guest sld setting.
> 
> Changes in v7:
> https://lkml.kernel.org/r/20200325030924.132881-1-xiaoyao.li@intel.com
>   - only pick patch 1 and patch 2, and hold all the left.
>   - Update SLD bit on each processor based on sld_state.
> 
> Changes in v6:
> https://lkml.kernel.org/r/20200324151859.31068-1-xiaoyao.li@intel.com
>   - Drop the sld_not_exist flag and use X86_FEATURE_SPLIT_LOCK_DETECT to
>     check whether need to init split lock detection. [tglx]
>   - Use tglx's method to verify the existence of split lock detectoin.
>   - small optimization of sld_update_msr() that the default value of
>     msr_test_ctrl_cache has split_lock_detect bit cleared.
>   - Drop the patch3 in v5 that introducing kvm_only option. [tglx]
>   - Rebase patch4-8 to kvm/queue.
>   - use the new kvm-cpu-cap to expose X86_FEATURE_CORE_CAPABILITIES in
>     Patch 6.
> 
> Changes in v5:
> https://lkml.kernel.org/r/20200315050517.127446-1-xiaoyao.li@intel.com
>   - Use X86_FEATURE_SPLIT_LOCK_DETECT flag in kvm to ensure split lock
>     detection is really supported.
>   - Add and export sld related helper functions in their related usecase
>     kvm patches.
> 
> Xiaoyao Li (8):
>    x86/split_lock: Rename TIF_SLD to TIF_SLD_DISABLED
>    x86/split_lock: Remove bogus case in handle_guest_split_lock()
>    x86/split_lock: Introduce flag X86_FEATURE_SLD_FATAL and drop
>      sld_state
>    x86/split_lock: Introduce split_lock_virt_switch() and two wrappers
>    x86/kvm: Introduce paravirt split lock detection enumeration
>    KVM: VMX: Enable MSR TEST_CTRL for guest
>    KVM: VMX: virtualize split lock detection
>    x86/split_lock: Enable split lock detection initialization when
>      running as an guest on KVM
> 
>   Documentation/virt/kvm/cpuid.rst     | 29 +++++++----
>   arch/x86/include/asm/cpu.h           | 35 ++++++++++++++
>   arch/x86/include/asm/cpufeatures.h   |  1 +
>   arch/x86/include/asm/thread_info.h   |  6 +--
>   arch/x86/include/uapi/asm/kvm_para.h |  8 ++--
>   arch/x86/kernel/cpu/intel.c          | 59 ++++++++++++++++-------
>   arch/x86/kernel/kvm.c                |  3 ++
>   arch/x86/kernel/process.c            |  2 +-
>   arch/x86/kvm/cpuid.c                 |  6 +++
>   arch/x86/kvm/vmx/vmx.c               | 72 +++++++++++++++++++++++++---
>   arch/x86/kvm/vmx/vmx.h               |  3 ++
>   arch/x86/kvm/x86.c                   |  6 ++-
>   arch/x86/kvm/x86.h                   |  7 +++
>   13 files changed, 196 insertions(+), 41 deletions(-)
> 


      parent reply	other threads:[~2020-07-01  2:47 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-05-09 11:05 [PATCH v9 0/8] KVM: Add virtualization support of split lock detection Xiaoyao Li
2020-05-09 11:05 ` [PATCH v9 1/8] x86/split_lock: Rename TIF_SLD to TIF_SLD_DISABLED Xiaoyao Li
2020-05-09 11:05 ` [PATCH v9 2/8] x86/split_lock: Remove bogus case in handle_guest_split_lock() Xiaoyao Li
2020-05-09 11:05 ` [PATCH v9 3/8] x86/split_lock: Introduce flag X86_FEATURE_SLD_FATAL and drop sld_state Xiaoyao Li
2020-05-10  5:14   ` Andy Lutomirski
2020-05-11 18:17     ` Sean Christopherson
2020-05-09 11:05 ` [PATCH v9 4/8] x86/split_lock: Introduce split_lock_virt_switch() and two wrappers Xiaoyao Li
2020-05-09 11:05 ` [PATCH v9 5/8] x86/kvm: Introduce paravirt split lock detection enumeration Xiaoyao Li
2020-05-09 11:05 ` [PATCH v9 6/8] KVM: VMX: Enable MSR TEST_CTRL for guest Xiaoyao Li
2020-05-09 11:05 ` [PATCH v9 7/8] KVM: VMX: virtualize split lock detection Xiaoyao Li
2020-05-09 11:05 ` [PATCH v9 8/8] x86/split_lock: Enable split lock detection initialization when running as an guest on KVM Xiaoyao Li
2020-05-10  5:15   ` Andy Lutomirski
2020-05-11  1:11     ` Xiaoyao Li
2020-05-18  1:27 ` [PATCH v9 0/8] KVM: Add virtualization support of split lock detection Xiaoyao Li
2020-05-26  6:19   ` Xiaoyao Li
2020-07-01  2:46 ` Xiaoyao Li [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=45214dc8-08eb-5754-4c5c-e2de18592eb7@intel.com \
    --to=xiaoyao.li@intel.com \
    --cc=bp@alien8.de \
    --cc=fenghua.yu@intel.com \
    --cc=hpa@zytor.com \
    --cc=kvm@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=luto@kernel.org \
    --cc=mingo@redhat.com \
    --cc=nivedita@alum.mit.edu \
    --cc=pbonzini@redhat.com \
    --cc=peterz@infradead.org \
    --cc=sean.j.christopherson@intel.com \
    --cc=tglx@linutronix.de \
    --cc=tony.luck@intel.com \
    --cc=x86@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.