From mboxrd@z Thu Jan 1 00:00:00 1970 From: Gleb Natapov Subject: Re: [PATCH 22/24] KVM: x86 emulator: restart string instruction without going back to a guest. Date: Wed, 10 Mar 2010 11:06:33 +0200 Message-ID: <20100310090633.GS16909@redhat.com> References: <1268143762-4000-1-git-send-email-gleb@redhat.com> <1268143762-4000-23-git-send-email-gleb@redhat.com> <4B966035.2050904@redhat.com> <20100309181157.GF9066@redhat.com> <4B97043C.2000603@oss.ntt.co.jp> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Cc: Avi Kivity , kvm@vger.kernel.org To: Takuya Yoshikawa Return-path: Received: from mx1.redhat.com ([209.132.183.28]:5720 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1755630Ab0CJJGg (ORCPT ); Wed, 10 Mar 2010 04:06:36 -0500 Content-Disposition: inline In-Reply-To: <4B97043C.2000603@oss.ntt.co.jp> Sender: kvm-owner@vger.kernel.org List-ID: 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. -- Gleb.