[PATCH v3 0/6] KVM: SVM: Enable AVIC for Zen4+ (if x2AVIC)

Sean Christopherson posted 6 patches 1 week, 6 days ago
There is a newer version of this series
arch/x86/kvm/svm/avic.c | 149 +++++++++++++++++++++++++++++++++-------
arch/x86/kvm/svm/svm.c  |  62 +----------------
arch/x86/kvm/svm/svm.h  |   4 +-
3 files changed, 125 insertions(+), 90 deletions(-)
[PATCH v3 0/6] KVM: SVM: Enable AVIC for Zen4+ (if x2AVIC)
Posted by Sean Christopherson 1 week, 6 days ago
Enable AVIC by default for Zen4+, so long as x2AVIC is supported (which should
be the case if AVIC is supported).

v3:
 - Don't advise the user to enable force_avic. [Naveen]
 - Gather AVIC related module params in avic.c (by moving code/helpers to
   avic.c).
 - Print "AVIC enabled" even when it's forced.
 - Enable by default iff x2AVIC is supported.
 - Use "auto" to select KVM's automatic/default behavior.

v2: https://lore.kernel.org/all/cover.1756993734.git.naveen@kernel.org

v1: http://lkml.kernel.org/r/20250626145122.2228258-1-naveen@kernel.org

Naveen N Rao (1):
  KVM: SVM: Enable AVIC by default for Zen4+ if x2AVIC is support

Sean Christopherson (5):
  KVM: SVM: Move x2AVIC MSR interception helper to avic.c
  KVM: SVM: Update "APICv in x2APIC without x2AVIC" in avic.c, not svm.c
  KVM: SVM: Always print "AVIC enabled" separately, even when force
    enabled
  KVM: SVM: Don't advise the user to do force_avic=y (when x2AVIC is
    detected)
  KVM: SVM: Move global "avic" variable to avic.c

 arch/x86/kvm/svm/avic.c | 149 +++++++++++++++++++++++++++++++++-------
 arch/x86/kvm/svm/svm.c  |  62 +----------------
 arch/x86/kvm/svm/svm.h  |   4 +-
 3 files changed, 125 insertions(+), 90 deletions(-)


base-commit: c8fbf7ceb2ae3f64b0c377c8c21f6df577a13eb4
-- 
2.51.0.470.ga7dc726c21-goog
Re: [PATCH v3 0/6] KVM: SVM: Enable AVIC for Zen4+ (if x2AVIC)
Posted by Naveen N Rao 1 week, 5 days ago
On Thu, Sep 18, 2025 at 05:21:30PM -0700, Sean Christopherson wrote:
> Enable AVIC by default for Zen4+, so long as x2AVIC is supported (which should
> be the case if AVIC is supported).
> 
> v3:
>  - Don't advise the user to enable force_avic. [Naveen]
>  - Gather AVIC related module params in avic.c (by moving code/helpers to
>    avic.c).
>  - Print "AVIC enabled" even when it's forced.
>  - Enable by default iff x2AVIC is supported.
>  - Use "auto" to select KVM's automatic/default behavior.
> 
> v2: https://lore.kernel.org/all/cover.1756993734.git.naveen@kernel.org
> 
> v1: http://lkml.kernel.org/r/20250626145122.2228258-1-naveen@kernel.org
> 
> Naveen N Rao (1):
>   KVM: SVM: Enable AVIC by default for Zen4+ if x2AVIC is support
> 
> Sean Christopherson (5):
>   KVM: SVM: Move x2AVIC MSR interception helper to avic.c
>   KVM: SVM: Update "APICv in x2APIC without x2AVIC" in avic.c, not svm.c
>   KVM: SVM: Always print "AVIC enabled" separately, even when force
>     enabled
>   KVM: SVM: Don't advise the user to do force_avic=y (when x2AVIC is
>     detected)
>   KVM: SVM: Move global "avic" variable to avic.c
> 
>  arch/x86/kvm/svm/avic.c | 149 +++++++++++++++++++++++++++++++++-------
>  arch/x86/kvm/svm/svm.c  |  62 +----------------
>  arch/x86/kvm/svm/svm.h  |   4 +-
>  3 files changed, 125 insertions(+), 90 deletions(-)

Thanks for putting this together! I have confirmed that this correctly 
enables AVIC by default on a Zen 5 system and does not do so on a Zen 1 
system.

For the series:
Tested-by: Naveen N Rao (AMD) <naveen@kernel.org>


- Naveen