diff mbox series

[net-next,03/14] eth: cpsw: remove a copy of the NAPI_POLL_WEIGHT define

Message ID 20220427154111.529975-4-kuba@kernel.org (mailing list archive)
State New, archived
Headers show
Series [net-next,01/14] eth: remove copies of the NAPI_POLL_WEIGHT define | expand

Commit Message

Jakub Kicinski April 27, 2022, 3:41 p.m. UTC
Defining local versions of NAPI_POLL_WEIGHT with the same
values in the drivers just makes refactoring harder.

Signed-off-by: Jakub Kicinski <kuba@kernel.org>
---
CC: grygorii.strashko@ti.com
CC: chi.minghao@zte.com.cn
CC: vladimir.oltean@nxp.com
CC: toke@redhat.com
CC: chenhao288@hisilicon.com
CC: moyufeng@huawei.com
CC: linux-omap@vger.kernel.org
---
 drivers/net/ethernet/ti/cpsw.c      |  4 ++--
 drivers/net/ethernet/ti/cpsw_new.c  |  4 ++--
 drivers/net/ethernet/ti/cpsw_priv.c | 12 ++++++------
 drivers/net/ethernet/ti/cpsw_priv.h |  1 -
 4 files changed, 10 insertions(+), 11 deletions(-)

Comments

Vladimir Oltean April 27, 2022, 3:47 p.m. UTC | #1
On Wed, Apr 27, 2022 at 08:41:00AM -0700, Jakub Kicinski wrote:
> Defining local versions of NAPI_POLL_WEIGHT with the same
> values in the drivers just makes refactoring harder.
> 
> Signed-off-by: Jakub Kicinski <kuba@kernel.org>
> ---
> CC: grygorii.strashko@ti.com
> CC: chi.minghao@zte.com.cn
> CC: vladimir.oltean@nxp.com

Fine with me (I mean, I don't even know why I'm copied on cpsw changes).

Why is the weight even an argument to netif_napi_add() anyway?

> CC: toke@redhat.com
> CC: chenhao288@hisilicon.com
> CC: moyufeng@huawei.com
> CC: linux-omap@vger.kernel.org
> ---
Jakub Kicinski April 27, 2022, 3:53 p.m. UTC | #2
On Wed, 27 Apr 2022 15:47:03 +0000 Vladimir Oltean wrote:
> On Wed, Apr 27, 2022 at 08:41:00AM -0700, Jakub Kicinski wrote:
> > Defining local versions of NAPI_POLL_WEIGHT with the same
> > values in the drivers just makes refactoring harder.
> > 
> > Signed-off-by: Jakub Kicinski <kuba@kernel.org>
> > ---
> > CC: grygorii.strashko@ti.com
> > CC: chi.minghao@zte.com.cn
> > CC: vladimir.oltean@nxp.com  
> 
> Fine with me (I mean, I don't even know why I'm copied on cpsw changes).

get_maintainer, I didn't bother filtering this time

> Why is the weight even an argument to netif_napi_add() anyway?

Right, not sure, see the cover letter.
Francois Romieu April 27, 2022, 9:06 p.m. UTC | #3
Jakub Kicinski <kuba@kernel.org> :
> On Wed, 27 Apr 2022 15:47:03 +0000 Vladimir Oltean wrote:
[...]
> > Why is the weight even an argument to netif_napi_add() anyway?
> 
> Right, not sure, see the cover letter.

bea3348eef27e6044b6161fd04c3152215f96411 had to deal with different
per-driver weight values when napi_struct and netif_napi_add were
introduced back in 2007.

From there you can almost jump back to NAPI origin when drivers
had to be converted one by one and distros did not provide udev
tooling to tweak what could had been a one-size-fits-all kernel
setting.
diff mbox series

Patch

diff --git a/drivers/net/ethernet/ti/cpsw.c b/drivers/net/ethernet/ti/cpsw.c
index e6ad2e53f1cd..662435e36805 100644
--- a/drivers/net/ethernet/ti/cpsw.c
+++ b/drivers/net/ethernet/ti/cpsw.c
@@ -1639,10 +1639,10 @@  static int cpsw_probe(struct platform_device *pdev)
 	ndev->ethtool_ops = &cpsw_ethtool_ops;
 	netif_napi_add(ndev, &cpsw->napi_rx,
 		       cpsw->quirk_irq ? cpsw_rx_poll : cpsw_rx_mq_poll,
-		       CPSW_POLL_WEIGHT);
+		       NAPI_POLL_WEIGHT);
 	netif_tx_napi_add(ndev, &cpsw->napi_tx,
 			  cpsw->quirk_irq ? cpsw_tx_poll : cpsw_tx_mq_poll,
-			  CPSW_POLL_WEIGHT);
+			  NAPI_POLL_WEIGHT);
 
 	/* register the network device */
 	SET_NETDEV_DEV(ndev, dev);
diff --git a/drivers/net/ethernet/ti/cpsw_new.c b/drivers/net/ethernet/ti/cpsw_new.c
index 0f31cb4168bb..b33781ed760e 100644
--- a/drivers/net/ethernet/ti/cpsw_new.c
+++ b/drivers/net/ethernet/ti/cpsw_new.c
@@ -1416,11 +1416,11 @@  static int cpsw_create_ports(struct cpsw_common *cpsw)
 			netif_napi_add(ndev, &cpsw->napi_rx,
 				       cpsw->quirk_irq ?
 				       cpsw_rx_poll : cpsw_rx_mq_poll,
-				       CPSW_POLL_WEIGHT);
+				       NAPI_POLL_WEIGHT);
 			netif_tx_napi_add(ndev, &cpsw->napi_tx,
 					  cpsw->quirk_irq ?
 					  cpsw_tx_poll : cpsw_tx_mq_poll,
-					  CPSW_POLL_WEIGHT);
+					  NAPI_POLL_WEIGHT);
 		}
 
 		napi_ndev = ndev;
diff --git a/drivers/net/ethernet/ti/cpsw_priv.c b/drivers/net/ethernet/ti/cpsw_priv.c
index 887285c57db8..758295c898ac 100644
--- a/drivers/net/ethernet/ti/cpsw_priv.c
+++ b/drivers/net/ethernet/ti/cpsw_priv.c
@@ -364,7 +364,7 @@  void cpsw_split_res(struct cpsw_common *cpsw)
 	if (cpsw->tx_ch_num == rlim_ch_num) {
 		max_rate = consumed_rate;
 	} else if (!rlim_ch_num) {
-		ch_budget = CPSW_POLL_WEIGHT / cpsw->tx_ch_num;
+		ch_budget = NAPI_POLL_WEIGHT / cpsw->tx_ch_num;
 		bigest_rate = 0;
 		max_rate = consumed_rate;
 	} else {
@@ -379,19 +379,19 @@  void cpsw_split_res(struct cpsw_common *cpsw)
 		if (max_rate < consumed_rate)
 			max_rate *= 10;
 
-		ch_budget = (consumed_rate * CPSW_POLL_WEIGHT) / max_rate;
-		ch_budget = (CPSW_POLL_WEIGHT - ch_budget) /
+		ch_budget = (consumed_rate * NAPI_POLL_WEIGHT) / max_rate;
+		ch_budget = (NAPI_POLL_WEIGHT - ch_budget) /
 			    (cpsw->tx_ch_num - rlim_ch_num);
 		bigest_rate = (max_rate - consumed_rate) /
 			      (cpsw->tx_ch_num - rlim_ch_num);
 	}
 
 	/* split tx weight/budget */
-	budget = CPSW_POLL_WEIGHT;
+	budget = NAPI_POLL_WEIGHT;
 	for (i = 0; i < cpsw->tx_ch_num; i++) {
 		ch_rate = cpdma_chan_get_rate(txv[i].ch);
 		if (ch_rate) {
-			txv[i].budget = (ch_rate * CPSW_POLL_WEIGHT) / max_rate;
+			txv[i].budget = (ch_rate * NAPI_POLL_WEIGHT) / max_rate;
 			if (!txv[i].budget)
 				txv[i].budget++;
 			if (ch_rate > bigest_rate) {
@@ -417,7 +417,7 @@  void cpsw_split_res(struct cpsw_common *cpsw)
 		txv[bigest_rate_ch].budget += budget;
 
 	/* split rx budget */
-	budget = CPSW_POLL_WEIGHT;
+	budget = NAPI_POLL_WEIGHT;
 	ch_budget = budget / cpsw->rx_ch_num;
 	for (i = 0; i < cpsw->rx_ch_num; i++) {
 		cpsw->rxv[i].budget = ch_budget;
diff --git a/drivers/net/ethernet/ti/cpsw_priv.h b/drivers/net/ethernet/ti/cpsw_priv.h
index fc591f5ebe18..34230145ca0b 100644
--- a/drivers/net/ethernet/ti/cpsw_priv.h
+++ b/drivers/net/ethernet/ti/cpsw_priv.h
@@ -89,7 +89,6 @@  do {								\
 #define CPDMA_TXCP		0x40
 #define CPDMA_RXCP		0x60
 
-#define CPSW_POLL_WEIGHT	64
 #define CPSW_RX_VLAN_ENCAP_HDR_SIZE		4
 #define CPSW_MIN_PACKET_SIZE_VLAN	(VLAN_ETH_ZLEN)
 #define CPSW_MIN_PACKET_SIZE	(ETH_ZLEN)