From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from [140.186.70.92] (port=41793 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Ogh9P-0005XY-3i for qemu-devel@nongnu.org; Wed, 04 Aug 2010 12:49:08 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.69) (envelope-from ) id 1Ogh9N-0005RQ-RH for qemu-devel@nongnu.org; Wed, 04 Aug 2010 12:49:06 -0400 Received: from mx1.redhat.com ([209.132.183.28]:40771) by eggs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1Ogh9N-0005RJ-K2 for qemu-devel@nongnu.org; Wed, 04 Aug 2010 12:49:05 -0400 Message-ID: <4C5999FA.5060100@redhat.com> Date: Wed, 04 Aug 2010 19:48:58 +0300 From: Avi Kivity MIME-Version: 1.0 Subject: Re: [Qemu-devel] Anyone seeing huge slowdown launching qemu with Linux 2.6.35? References: <4C5854F1.3000905@codemonkey.ws> <4C5858B2.9090801@redhat.com> <4C585F5B.5070502@codemonkey.ws> <4C58635B.7020407@redhat.com> <4C597E6D.1040609@cisco.com> <4C597FCD.8070703@codemonkey.ws> <20100804152552.GB10499@redhat.com> <20100804154830.GC10499@redhat.com> <3935DA5C-1FE5-4289-AB99-29FAA7B62580@suse.de> <20100804160823.GE10499@redhat.com> In-Reply-To: <20100804160823.GE10499@redhat.com> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Gleb Natapov Cc: Alexander Graf , kvm@vger.kernel.org, qemu-devel@nongnu.org, "Richard W.M. Jones" , "David S. Ahern" On 08/04/2010 07:08 PM, Gleb Natapov wrote: > > After applying cache fix nothing definite as far as I remember (I ran it last time > almost 2 week ago, need to rerun). Code always go through emulator now > and check direction flags to update SI/DI accordingly. Emulator is a big > switch and it calls various callbacks that may also slow things down. > We can have it set up a fast path. Similar to how real hardware optimizes 'rep movs' to copy complete cachelines. The emulator does all the checks, sets up a callback to be called on completion or when an interrupt is made pending, and lets x86.c do all the work. -- I have a truly marvellous patch that fixes the bug which this signature is too narrow to contain.