From patchwork Fri Dec 18 01:27:09 2009 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Herbert Xu X-Patchwork-Id: 68573 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by demeter.kernel.org (8.14.3/8.14.2) with ESMTP id nBI4ixx9005715 for ; Fri, 18 Dec 2009 04:48:10 GMT Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751234AbZLRB1S (ORCPT ); Thu, 17 Dec 2009 20:27:18 -0500 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1751088AbZLRB1S (ORCPT ); Thu, 17 Dec 2009 20:27:18 -0500 Received: from rhun.apana.org.au ([64.62.148.172]:33764 "EHLO arnor.apana.org.au" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1750696AbZLRB1R (ORCPT ); Thu, 17 Dec 2009 20:27:17 -0500 Received: from gondolin.me.apana.org.au ([192.168.0.6]) by arnor.apana.org.au with esmtp (Exim 4.63 #1 (Debian)) id 1NLRce-0004Tm-Lf; Fri, 18 Dec 2009 12:27:12 +1100 Received: from herbert by gondolin.me.apana.org.au with local (Exim 4.69) (envelope-from ) id 1NLRcc-0001rJ-2z; Fri, 18 Dec 2009 09:27:10 +0800 Date: Fri, 18 Dec 2009 09:27:09 +0800 From: Herbert Xu To: rek2 Cc: Avi Kivity , kvm@vger.kernel.org, Misha Pivovarov Subject: Re: network shutdown under heavy load Message-ID: <20091218012709.GA7118@gondor.apana.org.au> References: <4B265E84.3070008@binaryfreedom.info> <4B28CFC0.4030800@redhat.com> <20091216131911.GA18327@gondor.apana.org.au> <4B2A7552.4010102@binaryfreedom.info> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <4B2A7552.4010102@binaryfreedom.info> User-Agent: Mutt/1.5.18 (2008-05-17) Sender: kvm-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: kvm@vger.kernel.org diff --git a/drivers/net/virtio_net.c b/drivers/net/virtio_net.c index 9eec5a5..74b3854 100644 --- a/drivers/net/virtio_net.c +++ b/drivers/net/virtio_net.c @@ -521,8 +521,10 @@ static void xmit_tasklet(unsigned long data) vi->svq->vq_ops->kick(vi->svq); vi->last_xmit_skb = NULL; } - if (vi->free_in_tasklet) + if (vi->free_in_tasklet) { free_old_xmit_skbs(vi); + netif_wake_queue(vi->dev); + } netif_tx_unlock_bh(vi->dev); }