* [PATCH] kvm: mmu: Simplify judgment conditions
@ 2022-07-26 1:59 Hao Peng
2022-07-26 14:41 ` Sean Christopherson
0 siblings, 1 reply; 2+ messages in thread
From: Hao Peng @ 2022-07-26 1:59 UTC (permalink / raw)
To: pbonzini; +Cc: kvm, linux-kernel, Sean Christopherson
From: Peng Hao <flyingpeng@tencent.com>
kvm_shadow_root_allocated() has been checked before in
mmu_first_shadow_root_alloc,
and subsequent kvm_memslots_have_rmaps() does not need to check
kvm_shadow_root_allocated() again.
Signed-off-by: Peng Hao <flyingpeng@tencent.com>
---
arch/x86/kvm/mmu/mmu.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/arch/x86/kvm/mmu/mmu.c b/arch/x86/kvm/mmu/mmu.c
index 52664c3caaab..ecd64c06f839 100644
--- a/arch/x86/kvm/mmu/mmu.c
+++ b/arch/x86/kvm/mmu/mmu.c
@@ -3584,7 +3584,7 @@ static int mmu_first_shadow_root_alloc(struct kvm *kvm)
* Check if anything actually needs to be allocated, e.g. all metadata
* will be allocated upfront if TDP is disabled.
*/
- if (kvm_memslots_have_rmaps(kvm) &&
+ if (!is_tdp_mmu_enabled(kvm) &&
kvm_page_track_write_tracking_enabled(kvm))
goto out_success;
--
2.27.0
^ permalink raw reply related [flat|nested] 2+ messages in thread* Re: [PATCH] kvm: mmu: Simplify judgment conditions
2022-07-26 1:59 [PATCH] kvm: mmu: Simplify judgment conditions Hao Peng
@ 2022-07-26 14:41 ` Sean Christopherson
0 siblings, 0 replies; 2+ messages in thread
From: Sean Christopherson @ 2022-07-26 14:41 UTC (permalink / raw)
To: Hao Peng; +Cc: pbonzini, kvm, linux-kernel
On Tue, Jul 26, 2022, Hao Peng wrote:
> From: Peng Hao <flyingpeng@tencent.com>
>
> kvm_shadow_root_allocated() has been checked before in
> mmu_first_shadow_root_alloc,
> and subsequent kvm_memslots_have_rmaps() does not need to check
> kvm_shadow_root_allocated() again.
Heh, this has come up before[*]. I agree with Paolo that checking for rmaps is
more intuitive than checking for !TDP MMU. I'm not sure I agree about dropping
the check entirely though, it just seems like we'll end up back here again, i.e.
someone will inevitably propose optimizing the case where KVM has already allocated
rmaps and gfn_track.
[*] https://lore.kernel.org/all/c31a5f84-6da2-c6a0-c0cd-9f6802c39fc3@redhat.com
> Signed-off-by: Peng Hao <flyingpeng@tencent.com>
> ---
> arch/x86/kvm/mmu/mmu.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/arch/x86/kvm/mmu/mmu.c b/arch/x86/kvm/mmu/mmu.c
> index 52664c3caaab..ecd64c06f839 100644
> --- a/arch/x86/kvm/mmu/mmu.c
> +++ b/arch/x86/kvm/mmu/mmu.c
> @@ -3584,7 +3584,7 @@ static int mmu_first_shadow_root_alloc(struct kvm *kvm)
> * Check if anything actually needs to be allocated, e.g. all metadata
> * will be allocated upfront if TDP is disabled.
> */
> - if (kvm_memslots_have_rmaps(kvm) &&
> + if (!is_tdp_mmu_enabled(kvm) &&
> kvm_page_track_write_tracking_enabled(kvm))
> goto out_success;
>
> --
> 2.27.0
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2022-07-26 14:41 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-07-26 1:59 [PATCH] kvm: mmu: Simplify judgment conditions Hao Peng
2022-07-26 14:41 ` Sean Christopherson
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox