Re: [PATCH v2 2/9] KVM: Add documentation for VCPU requests

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, Apr 05, 2017 at 08:29:12PM +0200, Paolo Bonzini wrote:
> 
> 
> On 05/04/2017 19:45, Christoffer Dall wrote:
> >>> But the problem is that kvm_make_all_cpus_request() only sends IPIs to
> >>> CPUs where the mode was different from OUTSIDE_GUEST_MODE, so there it's
> >>> about !OUTSIDE_GUEST_MODE rather than !IN_GUEST_MODE, so there's some
> >>> subtlety here which I feel like it's dangerous to paper over.
> >> Right, that needs fixing in the code.
> > Really?  I thought Paolo said that this is the intended behavior and
> > semantics; non-urgent requests that should just be serviced before the
> > next guest entry.
> 
> Indeed, that's right...
> 
> >> guest_mode is just an optimization that allows us to skip sending the
> >> IPI when the VCPU is known to handle the request as soon as possible.
> >>
> >>   IN_GUEST_MODE: we must force VM exit or the request could never be
> >>     handled
> >>   EXITING_GUEST_MODE: another request already forces the VM exit and
> >>     we're just waiting for the VCPU to notice our request
> >>   OUTSIDE_GUEST_MODE: KVM is going to notice our request without any
> >>     intervention
> >>   READING_SHADOW_PAGE_TABLES: same as OUTSIDE_GUEST_MODE -- rename to
> >>     unwieldly OUTSIDE_GUEST_MODE_READING_SHADOW_PAGE_TABLES?
> > Again, I thought Paolo was arguing that EXITING_GUEST_MODE makes the
> > whole thing work because you check that after checking requests?
> 
> ... but apparently I was wrong here, see my email from this morning.
> 
I now managed to understand that e-mail, so it feels like we're
converging in our understanding, which I hope is a good thing - meaning
that we're converging to a correct understanding :)

-Christoffer



[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux