Re: [PATCH 22/24] KVM: x86 emulator: restart string instruction without going back to a guest.

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

 



On Wed, Mar 10, 2010 at 06:12:34PM +0900, Takuya Yoshikawa wrote:
> Gleb Natapov wrote:
> >On Wed, Mar 10, 2010 at 11:30:20AM +0900, Takuya Yoshikawa wrote:
> >>Gleb Natapov wrote:
> >>>On Tue, Mar 09, 2010 at 04:50:29PM +0200, Avi Kivity wrote:
> >>>>On 03/09/2010 04:09 PM, Gleb Natapov wrote:
> >>>>>Currently when string instruction is only partially complete we go back
> >>>>>to a guest mode, guest tries to reexecute instruction and exits again
> >>>>>and at this point emulation continues. Avoid all of this by restarting
> >>>>>instruction without going back to a guest mode.
> >>>>What happens if rcx is really big?  Going back into the guest gave
> >>>>us a preemption point.
> >>>>
> >>>Two solutions. We can check if reschedule is required and yield cpu if
> >>>needed. Or we can enter guest from time to time.
> >>One generic question: from the viewpoint of KVM's policy, is it OK to make
> >>the semantics different from real CPUs?
> >>
> >>Semantics, may be better to use other words, but I'm little bit worried that
> >>the second solution may change something, not mentioning about bugs but some
> >>behavior patterns depending on the "time to time".
> >>
> >Entering guest from time to time will not change semantics of the
> >processor (if code is not modified under processor's feet at least).
> >Currently we reenter guest mode after each iteration of string
> >instruction for all instruction but ins/outs.
> >
> 
> E.g., is there no chance that during the repetitions, in the middle of the
> repetitions, page faults occur? If it can, without entering the guest, can
> we handle it?
>  -- I lack some basic assumptions?
> 
If page fault occurs we inject it to the guest.

--
			Gleb.
--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[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