From mboxrd@z Thu Jan 1 00:00:00 1970 From: Avi Kivity Subject: Re: [PATCH v2 28/30] KVM: x86 emulator: restart string instruction without going back to a guest. Date: Mon, 15 Mar 2010 09:44:26 +0200 Message-ID: <4B9DE55A.5070003@redhat.com> References: <1268583675-3101-1-git-send-email-gleb@redhat.com> <1268583675-3101-29-git-send-email-gleb@redhat.com> <4B9D1545.2020902@redhat.com> <20100314180625.GB5406@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Cc: mtosatti@redhat.com, kvm@vger.kernel.org To: Gleb Natapov Return-path: Received: from mx1.redhat.com ([209.132.183.28]:7844 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S933035Ab0COHo3 (ORCPT ); Mon, 15 Mar 2010 03:44:29 -0400 Received: from int-mx02.intmail.prod.int.phx2.redhat.com (int-mx02.intmail.prod.int.phx2.redhat.com [10.5.11.12]) by mx1.redhat.com (8.13.8/8.13.8) with ESMTP id o2F7iTmW007989 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK) for ; Mon, 15 Mar 2010 03:44:29 -0400 In-Reply-To: <20100314180625.GB5406@redhat.com> Sender: kvm-owner@vger.kernel.org List-ID: 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. Have the emulator ask the buffer when it is empty. -- Do not meddle in the internals of kernels, for they are subtle and quick to panic.