Messages in this thread | | | From | "Maciej S. Szmigiero" <> | Subject | Re: [PATCH v3 2/8] KVM: Integrate gfn_to_memslot_approx() into search_memslots() | Date | Fri, 21 May 2021 09:03:43 +0200 |
| |
On 19.05.2021 23:24, Sean Christopherson wrote: > On Sun, May 16, 2021, Maciej S. Szmigiero wrote: >> diff --git a/include/linux/kvm_host.h b/include/linux/kvm_host.h >> index 8895b95b6a22..3c40c7d32f7e 100644 >> --- a/include/linux/kvm_host.h >> +++ b/include/linux/kvm_host.h >> @@ -1091,10 +1091,14 @@ bool kvm_arch_irqfd_allowed(struct kvm *kvm, struct kvm_irqfd *args); >> * gfn_to_memslot() itself isn't here as an inline because that would >> * bloat other code too much. >> * >> + * With "approx" set returns the memslot also when the address falls >> + * in a hole. In that case one of the memslots bordering the hole is >> + * returned. >> + * >> * IMPORTANT: Slots are sorted from highest GFN to lowest GFN! >> */ >> static inline struct kvm_memory_slot * >> -search_memslots(struct kvm_memslots *slots, gfn_t gfn) >> +search_memslots(struct kvm_memslots *slots, gfn_t gfn, bool approx) > > An alternative to modifying the PPC code would be to make the existing > search_memslots() a wrapper to __search_memslots(), with the latter taking > @approx.
I guess you mean that if search_memslots() only does an exact search (like the current code does) its 3 callers won't have to be modified. Will do it then.
> We might also want to make this __always_inline to improve the likelihood of the > compiler optimizing away @approx. I doubt it matters in practice...
Sounds like a good idea, will do.
Thanks, Maciej
| |