Re: [PATCH v2 3/3] kvm/x86: Allow to respond to generic signals during slow page faults

From: Peter Xu
Date: Tue Aug 16 2022 - 16:47:45 EST


On Mon, Aug 15, 2022 at 09:26:37PM +0000, Sean Christopherson wrote:
> On Thu, Aug 11, 2022, Peter Xu wrote:
> > On Thu, Aug 11, 2022 at 08:12:38PM +0000, Sean Christopherson wrote:
> > > > diff --git a/arch/x86/kvm/mmu/mmu.c b/arch/x86/kvm/mmu/mmu.c
> > > > index 17252f39bd7c..aeafe0e9cfbf 100644
> > > > --- a/arch/x86/kvm/mmu/mmu.c
> > > > +++ b/arch/x86/kvm/mmu/mmu.c
> > > > @@ -3012,6 +3012,13 @@ static int kvm_handle_bad_page(struct kvm_vcpu *vcpu, gfn_t gfn, kvm_pfn_t pfn)
> > > > static int handle_abnormal_pfn(struct kvm_vcpu *vcpu, struct kvm_page_fault *fault,
> > > > unsigned int access)
> > > > {
> > > > + /* NOTE: not all error pfn is fatal; handle sigpending pfn first */
> > > > + if (unlikely(is_sigpending_pfn(fault->pfn))) {
> > >
> > > Move this into kvm_handle_bad_page(), then there's no need for a comment to call
> > > out that this needs to come before the is_error_pfn() check. This _is_ a "bad"
> > > PFN, it just so happens that userspace might be able to resolve the "bad" PFN.
> >
> > It's a pity it needs to be in "bad pfn" category since that's the only
> > thing we can easily use, but true it is now.
>
> Would renaming that to kvm_handle_error_pfn() help? I agree that "bad" is poor
> terminology now that it handles a variety of errors, hence the quotes.

It could be slightly helpful I think, at least it starts to match with how
we name KVM_PFN_ERR_*. Will squash the renaming into the same patch.

Thanks,

--
Peter Xu