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 07:08:31PM +0900, Takuya Yoshikawa wrote:
> Gleb Natapov wrote:
> >>>>
> >>>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.
> >
> 
> Oh, I maight fail to tell what I worried about.
> Opposite, I mean, I worried about NOT reentering the guest case.
> 
Are you thinking about something specific here? If we inject exceptions
when they occur and we inject interrupt when they arrive what problem do
you see? I guess this is how real CPU actually works. I doubt it
re-reads string instruction on each iteration.

> I know that current implementation with reentrance is OK.
Current implementation does not reenter guest on each iteration for pio
string, so currently we have both variants.

> 
> To inject a page fault without reentering the guest, we need to add
> some more hacks to the emulator IIUC.
> 
No, we just need to enter guest if exception happens. I see that this in
handled incorrectly in my current patch series.

--
			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