Received: by 2002:a05:7412:f584:b0:e2:908c:2ebd with SMTP id eh4csp1930448rdb; Tue, 5 Sep 2023 09:06:25 -0700 (PDT) X-Google-Smtp-Source: AGHT+IEu3ot041Q6g4cj+zg4GfLjVenBSw4KFhoHHvhNF/hNZNecmtnvD2i0Ya6Aw+IwzAtCdckj X-Received: by 2002:aa7:c754:0:b0:525:6d6e:ed53 with SMTP id c20-20020aa7c754000000b005256d6eed53mr210193eds.27.1693929984865; Tue, 05 Sep 2023 09:06:24 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1693929984; cv=none; d=google.com; s=arc-20160816; b=gDhPCFMrXJyx41yS4+Q/doK+VvnDVdkQXrNKuD6vWuK4IK/Kougybek0COINahv4Mp FF21jEXi6kZbwlxacsIKrIK932ad//n6WrkTyCWl4HYrrDa+MWSl5hyuhV5WUAXRP9wM JlQHUIQsr8At45nV9urD7t2a99hY3g2C0Nc2I8GQxE8V58035Q2925qJfEtGBHhl3Vs/ PiDtM+u2ULddldvcWmHrZY6bPwjKm7Edj/yWLPVFZk8gORz9+QdgX0x2y9FDRVZmXAXA tAcqHK8oOaf5EqdSjRGeYn3rsJdw/JkBHrKz3pm23OVc+R63zd41lPGFk20Y8wo0aBz2 AVcw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :message-id:date:subject:cc:to:from:authenticated-by; bh=30DAfCTz76K+h09XPoTQh/IpfbMfcJQosfcPntQc5lk=; fh=asqeH3O/QnyRb7t/jKhooxi2j9EYs9s/QOPv512F3oU=; b=TxCwuO+N0kPImsl5q77kdqKzHqd8JYzwjvqhx70KnpqHLdidCzeTn3IZ6ihjggN1nH uj/hT5y00Hl7eqiitHtoPg+4B0NplBduOrGU4sIEriqhG6GYn33Tb+GHxDpfybTruGbJ 3ToEnIRBRtP1jXcO2i9siFKzBhCxE9BV9X9EdAdyNGnGF/QJSb5fHUFN/A1AU9ho+B8m q66BByJ0eMC0Fj2S1FtGpWjtc06zjqYN527o5tpYYGeC5N0d+ua7X7rc2nfo9cjvZkTk vZgYAGJYFEulkQ4FpVJuuta7Adkcd295hpBN63Gofh9Um6DfimsLZtb8yi0QputE11IR vrpQ== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id o14-20020aa7c50e000000b005222c4ef218si7948576edq.298.2023.09.05.09.06.17; Tue, 05 Sep 2023 09:06:24 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1352928AbjIDMRn (ORCPT + 19 others); Mon, 4 Sep 2023 08:17:43 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:47032 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229660AbjIDMRm (ORCPT ); Mon, 4 Sep 2023 08:17:42 -0400 Received: from rtits2.realtek.com.tw (rtits2.realtek.com [211.75.126.72]) by lindbergh.monkeyblade.net (Postfix) with ESMTP id 429CFCD0; Mon, 4 Sep 2023 05:17:35 -0700 (PDT) Authenticated-By: X-SpamFilter-By: ArmorX SpamTrap 5.77 with qID 384CGoTbA007845, This message is accepted by code: ctloc85258 Received: from mail.realtek.com (rtexh36506.realtek.com.tw[172.21.6.27]) by rtits2.realtek.com.tw (8.15.2/2.81/5.90) with ESMTPS id 384CGoTbA007845 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=FAIL); Mon, 4 Sep 2023 20:16:50 +0800 Received: from RTEXMBS04.realtek.com.tw (172.21.6.97) by RTEXH36506.realtek.com.tw (172.21.6.27) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.17; Mon, 4 Sep 2023 20:17:18 +0800 Received: from fc38.localdomain (172.22.228.98) by RTEXMBS04.realtek.com.tw (172.21.6.97) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.7; Mon, 4 Sep 2023 20:17:14 +0800 From: Hayes Wang To: , CC: , , , , Hayes Wang Subject: [PATCH net] r8152: avoid the driver drops a lot of packets Date: Mon, 4 Sep 2023 20:17:06 +0800 Message-ID: <20230904121706.7132-420-nic_swsd@realtek.com> X-Mailer: git-send-email 2.41.0 MIME-Version: 1.0 Content-Transfer-Encoding: 7BIT Content-Type: text/plain; charset=US-ASCII X-Originating-IP: [172.22.228.98] X-ClientProxiedBy: RTEXH36506.realtek.com.tw (172.21.6.27) To RTEXMBS04.realtek.com.tw (172.21.6.97) X-KSE-ServerInfo: RTEXMBS04.realtek.com.tw, 9 X-KSE-AntiSpam-Interceptor-Info: fallback X-KSE-Antivirus-Interceptor-Info: fallback X-KSE-AntiSpam-Interceptor-Info: fallback X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00, RCVD_IN_DNSWL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Stop submitting rx, if the driver queue more than 256 packets. If the hardware is more fast than the software, the driver would start queuing the packets. And, the driver starts dropping the packets, if it queues more than 1000 packets. Increase the weight of NAPI could improve the situation. However, the weight has been changed to 64, so we have to stop submitting rx when the driver queues too many packets. Then,the device may send the pause frame to slow down the receiving, when the FIFO of the device is full. Fixes: cf74eb5a5bc8 ("eth: r8152: try to use a normal budget") Signed-off-by: Hayes Wang --- drivers/net/usb/r8152.c | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/drivers/net/usb/r8152.c b/drivers/net/usb/r8152.c index 332c853ca99b..b5ed55938b1c 100644 --- a/drivers/net/usb/r8152.c +++ b/drivers/net/usb/r8152.c @@ -2484,10 +2484,6 @@ static int rx_bottom(struct r8152 *tp, int budget) unsigned int pkt_len, rx_frag_head_sz; struct sk_buff *skb; - /* limit the skb numbers for rx_queue */ - if (unlikely(skb_queue_len(&tp->rx_queue) >= 1000)) - break; - pkt_len = le32_to_cpu(rx_desc->opts1) & RX_LEN_MASK; if (pkt_len < ETH_ZLEN) break; @@ -2556,7 +2552,7 @@ static int rx_bottom(struct r8152 *tp, int budget) } submit: - if (!ret) { + if (!ret && likely(skb_queue_len(&tp->rx_queue) < 256)) { ret = r8152_submit_rx(tp, agg, GFP_ATOMIC); } else { urb->actual_length = 0; -- 2.41.0