Re: [PATCH v2 28/30] 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 03/15/2010 11:44 AM, Gleb Natapov wrote:
On Mon, Mar 15, 2010 at 09:44:26AM +0200, Avi Kivity wrote:
On 03/14/2010 08:06 PM, Gleb Natapov wrote:
Suggest simply reentering every N executions.

This restart mechanism is, in fact, needed for ins read ahead to work.
After reading ahead from IO port we need to avoid entering decoder
until entire cache is consumed otherwise decoder will clear cache and
data will be lost. So we can't just enter guest in arbitrary times, only
when read ahead cache is empty. Since read ahead is never done across
page boundary this is save place to re-enter guest.
Please make the two depend on each other directly then.  We can't
expect the reader of the emulator code know that.

We can document that. I wouldn't want to have different conditions for
guest re-entry for different opcodes.

We now have a write buffer size of one. It's just a matter of making the emulator know the size of the buffer (extra parameter to ->write_emulated).

Have the emulator ask the buffer when it is empty.

It will be always empty for all string ops except INS.


Or we can make the buffer larger for everyone (outside this patchset though).

--
error compiling committee.c: too many arguments to function

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