From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([140.186.70.92]:33604) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RoG74-0005JH-VM for qemu-devel@nongnu.org; Fri, 20 Jan 2012 10:10:51 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1RoG6z-0005kO-6r for qemu-devel@nongnu.org; Fri, 20 Jan 2012 10:10:46 -0500 Received: from lo.gmane.org ([80.91.229.12]:59114) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RoG6y-0005k8-WC for qemu-devel@nongnu.org; Fri, 20 Jan 2012 10:10:41 -0500 Received: from list by lo.gmane.org with local (Exim 4.69) (envelope-from ) id 1RoG6t-00028F-9H for qemu-devel@nongnu.org; Fri, 20 Jan 2012 16:10:35 +0100 Received: from barriere.frankfurter-softwarefabrik.de ([217.11.197.1]) by main.gmane.org with esmtp (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Fri, 20 Jan 2012 16:10:35 +0100 Received: from lvml by barriere.frankfurter-softwarefabrik.de with local (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Fri, 20 Jan 2012 16:10:35 +0100 From: Lutz Vieweg Date: Fri, 20 Jan 2012 16:10:20 +0100 Message-ID: Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Subject: [Qemu-devel] macvtap performance: good when writing from guest, abysmal when reading on guest (~ 700kB/s) List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Hi, I've been using qemu-kvm along with ordinary tap-devices and software bridges for quite some time. When I recently noticed that a certain TCP connection between a guest and a remote physical host was limited to ~ 80MB/s, I thought it would be a good idea to check whether by using "macvtap", instead, the performance would get better. So I setup a guest on a host that has a direct peer-to-peer 10G cable to another host, and configured it to use a macvtap device. Then I did some benchmarks, using "nc" on both sides, just reading from /dev/zero, writing to /dev/null. When the guest VM is writing into a TCP connection to the physical host (linux-3.1.6), the performance is ~ 140MB/s - not great, but better than with ordinary tap devices. But to my big surprise, the performance when the physical host is writing, and the guest VM is reading is abysmal, only ~ 700kB/s! No bottleneck is obvious - the CPU usage and NIC utilization of both the VM, its host, and the other host is all quite low. "strace" on qemu process indicates that from time to time, there are "pauses" of ~ 0.5 seconds in between the many reads from /dev/tapX, but I am not sure whether this is the whole reason for the bad performance. Any ideas? Or should I rather stay with ordinary tap/brctl, or try yet another virtual NIC technique? Regards, Lutz Vieweg