Received: by 2002:a25:7ec1:0:0:0:0:0 with SMTP id z184csp5984073ybc; Wed, 27 Nov 2019 12:54:11 -0800 (PST) X-Google-Smtp-Source: APXvYqwDvDU8qJid/yuCf77bWcCGp6XNX+3xfW6NJ7Lwf7e6IRaiNYk9BKuLSZE+jqHCSrmOL2X/ X-Received: by 2002:a17:906:e0d5:: with SMTP id gl21mr49703881ejb.292.1574888051455; Wed, 27 Nov 2019 12:54:11 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1574888051; cv=none; d=google.com; s=arc-20160816; b=a6HDgGXidsHdR7tuKHZYux/O9uyJgBH3fiIuYgj0IR8vrU0snLrbBdI0yiouanSHv+ FP7+RRdOp2fHVib8ThLYxzEdgXrQjyfL3ncwcP/dVLx7qn7LpFWDk2QWNQQKfGjOYWka 1F13/oFmB8gCp1JMcMa9OLX3oDQ7x7MjoOoKudmdwx0kz4ypMrKJQTFPrqD3cbxdG5dD 4HBgKzOaN2W1npE60GGtLc+FWPhW7f7gi//2PhAXmKUIX25Vt4JEJUUcTWULXWxDkagT T5mTFxi26P2iP7xi4DsPbwJgSCWwVuWisEFQx7Ky9bMZCFEkeClORtJ+guEBvVLNTJfp GNyw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=BXQUSj1YbHEGt8JBG4/0/fvzLfYMxc7z2cr3v4Ul02k=; b=w9HNZx5xXCKbt6F52+6YYm3zznjkbCBH+Z8Z4tn0R5FyLDnurmMPj1TdzI13E91niy 9xAD3Qlpi35GGaH4Er7O3CfZ1RtZwzPLyzbPdpMOhFMJwUTncWEY3tzYmcc78FZhzoTi FBtNj/WxZ/x/kqEWmLVYD2+OhuZwHBEF5rZOr63hfgJJrQMZMyhmDK43TsIxXAEvIWDz xvU9KvU73CMRrQrcstGGVFxVvSkBpQep1Otg9rdBEBGvlpgVxm/JRdtgCj0/riaP9XY7 0NJSh3gD80Vv6gXd4xjjh/IF+hC/GMdgYyJkDkO//HImRxUL2bn7OkEuTxbF10obuC0s Df4A== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=gIPiYkkx; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id g21si207829ejr.195.2019.11.27.12.53.47; Wed, 27 Nov 2019 12:54:11 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=gIPiYkkx; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729765AbfK0UvP (ORCPT + 99 others); Wed, 27 Nov 2019 15:51:15 -0500 Received: from mail.kernel.org ([198.145.29.99]:37770 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1730443AbfK0UvN (ORCPT ); Wed, 27 Nov 2019 15:51:13 -0500 Received: from localhost (83-86-89-107.cable.dynamic.v4.ziggo.nl [83.86.89.107]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 82C4D2192C; Wed, 27 Nov 2019 20:51:11 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1574887872; bh=l6iiVA3E9iGMZdpQYcBruEKsw7d0YFm93jzD7sppr0Q=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=gIPiYkkxUlp7NtM6v5vYV2AQ0h2ldLaHbybZnV/otfbFEp9p2Mj4Jn++7fHHL6vTh oSTD6h+LWxSLEbNKk2RPueIf51I3cyQefATW3StYGzhJO9bobA1UPJFIW79tZhTFs4 y9qG72/dxXBzlvNpjMlZRFtJYPp5j2ghNPx9aeps= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Eric Dumazet , "David S. Miller" , Sasha Levin Subject: [PATCH 4.14 126/211] net: do not abort bulk send on BQL status Date: Wed, 27 Nov 2019 21:30:59 +0100 Message-Id: <20191127203106.019810447@linuxfoundation.org> X-Mailer: git-send-email 2.24.0 In-Reply-To: <20191127203049.431810767@linuxfoundation.org> References: <20191127203049.431810767@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Eric Dumazet [ Upstream commit fe60faa5063822f2d555f4f326c7dd72a60929bf ] Before calling dev_hard_start_xmit(), upper layers tried to cook optimal skb list based on BQL budget. Problem is that GSO packets can end up comsuming more than the BQL budget. Breaking the loop is not useful, since requeued packets are ahead of any packets still in the qdisc. It is also more expensive, since next TX completion will push these packets later, while skbs are not in cpu caches. It is also a behavior difference with TSO packets, that can break the BQL limit by a large amount. Note that drivers should use __netdev_tx_sent_queue() in order to have optimal xmit_more support, and avoid useless atomic operations as shown in the following patch. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller Signed-off-by: Sasha Levin --- net/core/dev.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/net/core/dev.c b/net/core/dev.c index 9d6beb9de924b..3ce68484ed5aa 100644 --- a/net/core/dev.c +++ b/net/core/dev.c @@ -3029,7 +3029,7 @@ struct sk_buff *dev_hard_start_xmit(struct sk_buff *first, struct net_device *de } skb = next; - if (netif_xmit_stopped(txq) && skb) { + if (netif_tx_queue_stopped(txq) && skb) { rc = NETDEV_TX_BUSY; break; } -- 2.20.1