From mboxrd@z Thu Jan 1 00:00:00 1970 From: Dor Laor Subject: Re: [PATCH 3/3] Stop dropping so many RX packets in tap (v2) Date: Mon, 05 May 2008 01:13:49 +0300 Message-ID: <1209939229.24261.81.camel@localhost.localdomain> References: <1209932475-7042-1-git-send-email-aliguori@us.ibm.com> <1209932475-7042-3-git-send-email-aliguori@us.ibm.com> Reply-To: dor.laor@qumranet.com Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Cc: kvm-devel@lists.sourceforge.net, Marcelo Tosatti , Avi Kivity To: Anthony Liguori Return-path: In-Reply-To: <1209932475-7042-3-git-send-email-aliguori@us.ibm.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: kvm-devel-bounces@lists.sourceforge.net Errors-To: kvm-devel-bounces@lists.sourceforge.net List-Id: kvm.vger.kernel.org On Sun, 2008-05-04 at 15:21 -0500, Anthony Liguori wrote: > Normally, tap always reads packets and simply lets the client drop them if it > cannot receive them. For virtio-net, this results in massive packet loss and > about an 80% performance loss in TCP throughput. > > This patch modifies qemu_send_packet() to only deliver a packet to a VLAN > client if it doesn't have a fd_can_read method or the fd_can_read method > indicates that it can receive packets. We also return a status of whether > any clients were able to receive the packet. > > If no clients were able to receive a packet, we buffer the packet until a > client indicates that it can receive packets again. > > This patch also modifies the tap code to only read from the tap fd if at least > one client on the VLAN is able to receive a packet. > > Finally, this patch changes the tap code to drain all possible packets from > the tap device when the tap fd is readable. > > Signed-off-by: Anthony Liguori Patchset looks good and reduces some nasty hacks. It probably also improves other devices like e1000 et al. Cheers, Dor ------------------------------------------------------------------------- This SF.net email is sponsored by the 2008 JavaOne(SM) Conference Don't miss this year's exciting event. There's still time to save $100. Use priority code J8TL2D2. http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone