From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1MTDAO-00068r-OY for qemu-devel@nongnu.org; Tue, 21 Jul 2009 07:05:52 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1MTDAJ-00068L-SR for qemu-devel@nongnu.org; Tue, 21 Jul 2009 07:05:51 -0400 Received: from [199.232.76.173] (port=53961 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1MTDAJ-00068I-KY for qemu-devel@nongnu.org; Tue, 21 Jul 2009 07:05:47 -0400 Received: from fwil.voltaire.com ([193.47.165.2]:16419 helo=exil.voltaire.com) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1MTDAJ-0001i3-3B for qemu-devel@nongnu.org; Tue, 21 Jul 2009 07:05:47 -0400 Message-ID: <4A65A0FC.6090204@Voltaire.com> Date: Tue, 21 Jul 2009 14:05:32 +0300 From: Or Gerlitz MIME-Version: 1.0 Subject: Re: [Qemu-devel] [PATCH] net: add raw backend - some performance measurements References: <4A4CA747.1050509@Voltaire.com> <20090703023911.GD938@shareable.org> <4A534EC4.5030209@voltaire.com> <20090707145739.GB14392@shareable.org> <4A54B0F1.3070201@voltaire.com> <20090715203806.GF3056@shareable.org> <4A647B72.5090404@Voltaire.com> <20090720155308.GA9327@gondor.apana.org.au> <4A656824.7070100@Voltaire.com> <20090721072546.GA16131@gondor.apana.org.au> <20090721102733.GB22155@redhat.com> In-Reply-To: <20090721102733.GB22155@redhat.com> Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: "Michael S. Tsirkin" Cc: Mark McLoughlin , Herbert Xu , netdev@vger.kernel.org, Dor Laor , qemu-devel@nongnu.org, Jan Kiszka Michael S. Tsirkin wrote: > With raw sockets, send will block or fail if the TX queue for device is > full. With tap+bridge, the buffer in tap has to fill up instead, which > is not the same. I'm not sure this is the issue here, but could be: the > benchmark is UDP, isn't it? Michael, What/where is this tap buffer? we're talking on VM TX, so looking on tun_get_user I see a call to skb_copy_datagram_from_iovec() to copy from the user buffer to an skb, then a call to netif_rx_ni() and that's it... As for your question, indeed udp, the VM runs netperf/UDP_STREAM Or.