From patchwork Thu Aug 28 08:41:00 2014 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: David Miller X-Patchwork-Id: 383731 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming@ozlabs.org Delivered-To: patchwork-incoming@ozlabs.org Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 03545140129 for ; Thu, 28 Aug 2014 18:41:18 +1000 (EST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S965342AbaH1IlC (ORCPT ); Thu, 28 Aug 2014 04:41:02 -0400 Received: from shards.monkeyblade.net ([149.20.54.216]:47981 "EHLO shards.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S965045AbaH1IlA (ORCPT ); Thu, 28 Aug 2014 04:41:00 -0400 Received: from localhost (74-93-104-98-Washington.hfc.comcastbusiness.net [74.93.104.98]) (Authenticated sender: davem-davemloft) by shards.monkeyblade.net (Postfix) with ESMTPSA id 91E3B5898BA for ; Thu, 28 Aug 2014 01:41:00 -0700 (PDT) Date: Thu, 28 Aug 2014 01:41:00 -0700 (PDT) Message-Id: <20140828.014100.627859966122813076.davem@davemloft.net> To: netdev@vger.kernel.org Subject: [PATCH 2/2] virtio_net: flush when in xmit_more mode and under descriptor pressure From: David Miller X-Mailer: Mew version 6.5 on Emacs 24.1 / Mule 6.0 (HANACHIRUSATO) Mime-Version: 1.0 X-Greylist: Sender succeeded SMTP AUTH, not delayed by milter-greylist-4.5.7 (shards.monkeyblade.net [149.20.54.216]); Thu, 28 Aug 2014 01:41:00 -0700 (PDT) Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org Mirror the changes made to ixgbe in commit 2367a17390138f68b3aa28f2f220b8d7ff8d91f4 ("ixgbe: flush when in xmit_more mode and under descriptor pressure") Signed-off-by: David S. Miller --- drivers/net/virtio_net.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/net/virtio_net.c b/drivers/net/virtio_net.c index f0c2824..9359a13 100644 --- a/drivers/net/virtio_net.c +++ b/drivers/net/virtio_net.c @@ -953,7 +953,7 @@ static netdev_tx_t start_xmit(struct sk_buff *skb, struct net_device *dev) } } - if (!skb->xmit_more) + if (__netif_subqueue_stopped(dev, qnum) || !skb->xmit_more) virtqueue_kick(sq->vq); return NETDEV_TX_OK;