Re: [PATCH net v2] atl1c: move tx cleanup processing out of interrupt
From: Eric Dumazet
Date: Fri Apr 02 2021 - 14:21:00 EST
On 4/2/21 7:20 PM, Gatis Peisenieks wrote:
> Tx queue cleanup happens in interrupt handler on same core as rx queue processing.
> Both can take considerable amount of processing in high packet-per-second scenarios.
>
...
> @@ -2504,6 +2537,7 @@ static int atl1c_init_netdev(struct net_device *netdev, struct pci_dev *pdev)
> NETIF_F_TSO6;
> netdev->features = netdev->hw_features |
> NETIF_F_HW_VLAN_CTAG_TX;
> + netdev->threaded = true;
Shouldn't it use dev_set_threaded() ?
> return 0;
> }
>
> @@ -2588,6 +2622,7 @@ static int atl1c_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
> adapter->mii.phy_id_mask = 0x1f;
> adapter->mii.reg_num_mask = MDIO_CTRL_REG_MASK;
> netif_napi_add(netdev, &adapter->napi, atl1c_clean, 64);
> + netif_napi_add(netdev, &adapter->tx_napi, atl1c_clean_tx, 64);
> timer_setup(&adapter->phy_config_timer, atl1c_phy_config, 0);
> /* setup the private structure */
> err = atl1c_sw_init(adapter);