diff options
author | Sean Christopherson <seanjc@google.com> | 2024-11-28 02:53:12 +0300 |
---|---|---|
committer | Sean Christopherson <seanjc@google.com> | 2024-12-17 03:15:28 +0300 |
commit | 036e78a942b4981a21a48751d45eebaf53f4c5c4 (patch) | |
tree | 3cabfaaa4a21488211386d6eca249a4dad36a229 /tools/perf/scripts/python/stackcollapse.py | |
parent | 45d522d3ee9ccea0f1fa0548af33cb8507ea947c (diff) | |
download | linux-036e78a942b4981a21a48751d45eebaf53f4c5c4.tar.xz |
KVM: SVM: Remove redundant TLB flush on guest CR4.PGE change
Drop SVM's direct TLB flush when CR4.PGE is toggled and NPT is enabled, as
KVM already guarantees TLBs are flushed appropriately.
For the call from cr_trap(), kvm_post_set_cr4() requests TLB_FLUSH_GUEST
(which is a superset of TLB_FLUSH_CURRENT) when CR4.PGE is toggled,
regardless of whether or not KVM is using TDP.
The calls from nested_vmcb02_prepare_save() and nested_svm_vmexit() are
checking guest (L2) vs. host (L1) CR4, and so a flush is unnecessary as L2
is defined to use a different ASID (from L1's perspective).
Lastly, the call from svm_set_cr0() passes in the current CR4 value, i.e.
can't toggle PGE.
Link: https://lore.kernel.org/r/20241127235312.4048445-1-seanjc@google.com
Signed-off-by: Sean Christopherson <seanjc@google.com>
Diffstat (limited to 'tools/perf/scripts/python/stackcollapse.py')
0 files changed, 0 insertions, 0 deletions