From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1NeXXH-0002pf-Kq for qemu-devel@nongnu.org; Mon, 08 Feb 2010 12:36:35 -0500 Received: from [199.232.76.173] (port=43837 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1NeXXH-0002pV-7h for qemu-devel@nongnu.org; Mon, 08 Feb 2010 12:36:35 -0500 Received: from Debian-exim by monty-python.gnu.org with spam-scanned (Exim 4.60) (envelope-from ) id 1NeXXF-00025v-LI for qemu-devel@nongnu.org; Mon, 08 Feb 2010 12:36:34 -0500 Received: from mx1.redhat.com ([209.132.183.28]:12640) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1NeXXF-00025F-3y for qemu-devel@nongnu.org; Mon, 08 Feb 2010 12:36:33 -0500 Date: Mon, 8 Feb 2010 23:05:19 +0530 From: Amit Shah Message-ID: <20100208173519.GA19993@amit-x200.redhat.com> References: <20100208134645.GA19130@amit-x200.redhat.com> <4B702641.5060907@codemonkey.ws> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <4B702641.5060907@codemonkey.ws> Subject: [Qemu-devel] Re: Slowdowns comparing qemu-kvm.git to qemu.git: vcpu/thread scheduling differences List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Anthony Liguori Cc: Marcelo Tosatti , qemu-devel@nongnu.org, KVM List On (Mon) Feb 08 2010 [08:57:05], Anthony Liguori wrote: > On 02/08/2010 07:46 AM, Amit Shah wrote: >> Hello, >> >> In my testing of virtio-console, I found qemu-kvm.git introduces a lot >> of overhead in thread scheduling compared to qemu.git. >> >> My test sends a 260M file from the host to a guest via a virtio-console >> port and then computes the sha1sum of the file on the host as well as on >> the guest, compares the checksum and declares the result based on the >> checksum match. The test passes in all the scenarios listed below, >> indicating there's no unsafe data transfer. >> >> >> Repo Time taken >> ----- ---------- >> qemu.git< 1 m (typically 30s) >> qemu-kvm.git> 16m >> qemu-iothread ~ 5m >> > > That very likely suggests that there are missing qemu_notify_events() in > qemu-kvm.git and you're getting blocked waiting for the next timer event > to fire. Hm, if that's the case, should virtio_notify() have a call to qemu_notify_event()? I added a qemu_notify_event() as the last statement in write_to_port() but that didn't help. > IOW, I assume that during the qemu-kvm.git run, the CPU isn't pegged at > 100% whereas it is in qemu.git. I think you're right; for qemu-kvm.git, I have seen various numbers: usage at an avg. of 2% and also at an avg. of 20% in different runs. I just did another run before writing this: 2% for qemu-kvm.git and 100% for qemu.git. Amit