On Mon, May 08, 2023, Mathias Krause wrote: > This is a backport of the CR0.WP KVM series[1] to Linux v6.2. All > commits applied either clean or with only minor changes needed to > account for missing prerequisite patches, e.g. the lack of a > kvm_is_cr0_bit_set() helper for patch 5 or the slightly different > surrounding context in patch 4 (__always_inline vs. plain inline for > to_kvm_vmx()). > > I used 'ssdd 10 50000' from rt-tests[2] as a micro-benchmark, running on > a grsecurity L1 VM. Below table shows the results (runtime in seconds, > lower is better): > > legacy TDP shadow > Linux v6.2.10 7.61s 7.98s 68.6s > + patches 3.37s 3.41s 70.2s > > The KVM unit test suite showed no regressions. > > Please consider applying. > > Thanks, > Mathias > > [1] https://lore.kernel.org/kvm/20230322013731.102955-1-minipli@xxxxxxxxxxxxxx/ > [2] https://git.kernel.org/pub/scm/utils/rt-tests/rt-tests.git > > > Mathias Krause (3): > KVM: x86: Do not unload MMU roots when only toggling CR0.WP with TDP > enabled > KVM: x86: Make use of kvm_read_cr*_bits() when testing bits > KVM: VMX: Make CR0.WP a guest owned bit > > Paolo Bonzini (1): > KVM: x86/mmu: Avoid indirect call for get_cr3 > > Sean Christopherson (1): > KVM: x86/mmu: Refresh CR0.WP prior to checking for emulated permission > faults Acked-by: Sean Christopherson <seanjc@xxxxxxxxxx>