Received: by 2002:a25:6193:0:0:0:0:0 with SMTP id v141csp4649058ybb; Tue, 24 Mar 2020 02:42:05 -0700 (PDT) X-Google-Smtp-Source: ADFU+vvqvqppfJ631qI3lj5n66ebBpQbuo2lB5jzMl64ngLjpn8+D2v4oPDEObghg8ROtigG/+AL X-Received: by 2002:aca:6042:: with SMTP id u63mr2781848oib.179.1585042925052; Tue, 24 Mar 2020 02:42:05 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1585042925; cv=none; d=google.com; s=arc-20160816; b=iyNZqNsgs1LEA9mCJl2M4/4tCaVdY1Fcg3lA9+iqTVhVipNT8kEizD4/nkazL1iUfu QxpgScLzUC+p7P63PbMkbtjOU5CGrIMbt4wOtVsWe9Rdy9BQNtODL86lSaY62vdGIoKX sqZvi1z60gtpXyuPHvNJzUt4zRvhGxNp1LILQv163D4cAMQJ9ASFk5kJQ/9yi0CvRqCK gmwf4kx6zdoQJlOsFqjBepg/Jg2qnWkzE9OzkDZaa0nsYnqRI9bSU7gSlQWMI4ndelXi 96OLtmqW0yGObVYNQQSH6P7GtfPXf4UQPFJJX81rI4XtfRl3pbTQCZnx95u8KvKiO9y/ bJcg== 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 :references:in-reply-to:message-id:date:subject:cc:to:from; bh=w/QLlXCH0ram9vJX3ktU6r5jLVz47qx9O3E5sU4+Gog=; b=Uas9RSBfl79zEkZyD9P79gcwshC6nBvVjZNhJMV807zIxt+dZ+5G8p4q38EMvPfTLL L6AwxI7d8yJ8oUnR0T2n3xLGmkLKDCz43Q8PogNKG9tiHTdjPASKB/+SKasVjwMpzScJ r22ZWLVnb69G1JZYXfaIed6Vb5+pWjwDy/o3LJxVuG3SHGlOvergialmGolZQfudmy7Z KVRQ2ltsccjZqyqY+k1iR/vbxht+cVvCOMyZnxzUOJO9q6OgaTaFTuzrfZi2OSxHe2BO DU6fEKxPoBV17ixZCgg+NZ8P9Zm8kI+iiu8CcgIHJA0sqnuUngzRn56YKqMjW2Gbcobd e/ng== ARC-Authentication-Results: i=1; mx.google.com; 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 c20si3558279otp.46.2020.03.24.02.41.51; Tue, 24 Mar 2020 02:42:05 -0700 (PDT) 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; 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 S1727133AbgCXJkd (ORCPT + 99 others); Tue, 24 Mar 2020 05:40:33 -0400 Received: from lucky1.263xmail.com ([211.157.147.132]:43090 "EHLO lucky1.263xmail.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727092AbgCXJkc (ORCPT ); Tue, 24 Mar 2020 05:40:32 -0400 Received: from localhost (unknown [192.168.167.8]) by lucky1.263xmail.com (Postfix) with ESMTP id 38817BC85C; Tue, 24 Mar 2020 17:39:48 +0800 (CST) X-MAIL-GRAY: 0 X-MAIL-DELIVERY: 1 X-ADDR-CHECKED4: 1 X-ANTISPAM-LEVEL: 2 X-ABS-CHECKED: 0 Received: from localhost.localdomain (unknown [58.22.7.114]) by smtp.263.net (postfix) whith ESMTP id P24779T140190699988736S1585042779131734_; Tue, 24 Mar 2020 17:39:48 +0800 (CST) X-IP-DOMAINF: 1 X-UNIQUE-TAG: X-RL-SENDER: david.wu@rock-chips.com X-SENDER: wdc@rock-chips.com X-LOGIN-NAME: david.wu@rock-chips.com X-FST-TO: netdev@vger.kernel.org X-SENDER-IP: 58.22.7.114 X-ATTACHMENT-NUM: 0 X-DNS-TYPE: 0 X-System-Flag: 0 From: David Wu To: netdev@vger.kernel.org Cc: davem@davemloft.net, kuba@kernel.org, joabreu@synopsys.com, alexandre.torgue@st.com, peppe.cavallaro@st.com, linux-kernel@vger.kernel.org, David Wu Subject: [RFC,PATCH 2/2] net: stmmac: Change the tx clean lock Date: Tue, 24 Mar 2020 17:38:28 +0800 Message-Id: <20200324093828.30019-2-david.wu@rock-chips.com> X-Mailer: git-send-email 2.19.1 In-Reply-To: <20200324093828.30019-1-david.wu@rock-chips.com> References: <20200324093828.30019-1-david.wu@rock-chips.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org At tx clean, use a frozen queue instead of blocking the current queue, could still queue skb, which improve performance. Signed-off-by: David Wu --- drivers/net/ethernet/stmicro/stmmac/stmmac_main.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c index cb7a5bad4cfe..946058bcc9ed 100644 --- a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c +++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c @@ -1897,7 +1897,7 @@ static int stmmac_tx_clean(struct stmmac_priv *priv, int budget, u32 queue) unsigned int bytes_compl = 0, pkts_compl = 0; unsigned int entry, count = 0; - __netif_tx_lock_bh(netdev_get_tx_queue(priv->dev, queue)); + netif_tx_lock_q(netdev_get_tx_queue(priv->dev, queue)); priv->xstats.tx_clean++; @@ -1994,7 +1994,7 @@ static int stmmac_tx_clean(struct stmmac_priv *priv, int budget, u32 queue) if (tx_q->dirty_tx != tx_q->cur_tx) mod_timer(&tx_q->txtimer, STMMAC_COAL_TIMER(priv->tx_coal_timer)); - __netif_tx_unlock_bh(netdev_get_tx_queue(priv->dev, queue)); + netif_tx_unlock_q(netdev_get_tx_queue(priv->dev, queue)); return count; } -- 2.19.1