[PATCH v2 0/8] x86, KVM: Optimize SEV cache flushing
Sean Christopherson
seanjc at google.com
Fri May 16 21:28:25 UTC 2025
This is the combination of Kevin's WBNOINVD series[1] with Zheyun's targeted
flushing series[2]. The combined goal is to use WBNOINVD instead of WBINVD
when doing cached maintenance to prevent data corruption due to C-bit aliasing,
and to reduce the number of cache invalidations by only performing flushes on
CPUs that have entered the relevant VM since the last cache flush.
Assuming I get the appropate acks (and that I didn't manage to break anything
when rebasing), my plan is to take this through the kvm-x86 tree in the 6.17
timeframe.
v2:
- Add a missing -ENOMEM in __sev_guest_init(). [Tom]
- Collect reviews. [Kai, Tom]
- Fix stub prototypes. [Zheyun]
- Kill off dead pr_err() code on DRM's wbinvd_on_all_cpus() usage.
v1: https://lore.kernel.org/all/20250227014858.3244505-1-seanjc@google.com
[1] https://lore.kernel.org/all/20250201000259.3289143-1-kevinloughlin@google.com
[2] https://lore.kernel.org/all/20250128015345.7929-1-szy0127@sjtu.edu.cn
Kevin Loughlin (2):
x86, lib: Add WBNOINVD helper functions
KVM: SEV: Prefer WBNOINVD over WBINVD for cache maintenance efficiency
Sean Christopherson (3):
drm/gpu: Remove dead checks on wbinvd_on_all_cpus()'s return value
x86, lib: Drop the unused return value from wbinvd_on_all_cpus()
KVM: x86: Use wbinvd_on_cpu() instead of an open-coded equivalent
Zheyun Shen (3):
KVM: SVM: Remove wbinvd in sev_vm_destroy()
x86, lib: Add wbinvd and wbnoinvd helpers to target multiple CPUs
KVM: SVM: Flush cache only on CPUs running SEV guest
arch/x86/include/asm/smp.h | 23 ++++++--
arch/x86/include/asm/special_insns.h | 19 ++++++-
arch/x86/kvm/svm/sev.c | 81 +++++++++++++++++++---------
arch/x86/kvm/svm/svm.h | 1 +
arch/x86/kvm/x86.c | 11 +---
arch/x86/lib/cache-smp.c | 26 ++++++++-
drivers/gpu/drm/drm_cache.c | 9 ++--
7 files changed, 125 insertions(+), 45 deletions(-)
base-commit: 7ef51a41466bc846ad794d505e2e34ff97157f7f
--
2.49.0.1112.g889b7c5bd8-goog
More information about the dri-devel
mailing list