[PATCH 0/1] Convert tasklets to BH workqueues in ethernet drivers

From: Allen Pais
Date: Tue May 07 2024 - 15:01:30 EST


This series focuses on converting the existing implementation of
tasklets to bottom half (BH) workqueues across various Ethernet
drivers under drivers/net/ethernet/*.

Impact:
The conversion is expected to maintain or improve the performance
of the affected drivers. It also improves the maintainability and
readability of the driver code.

Testing:
- Conducted standard network throughput and latency benchmarks
to ensure performance parity or improvement.
- Ran kernel regression tests to verify that changes do not introduce new issues.

I appreciate your review and feedback on this patch series.
And additional tested would be really helpful.

Allen Pais (1):
[RFC] ethernet: Convert from tasklet to BH workqueue

drivers/infiniband/hw/mlx4/cq.c | 2 +-
drivers/infiniband/hw/mlx5/cq.c | 2 +-
drivers/net/ethernet/alteon/acenic.c | 26 +++----
drivers/net/ethernet/alteon/acenic.h | 7 +-
drivers/net/ethernet/amd/xgbe/xgbe-drv.c | 30 ++++----
drivers/net/ethernet/amd/xgbe/xgbe-i2c.c | 16 ++---
drivers/net/ethernet/amd/xgbe/xgbe-mdio.c | 16 ++---
drivers/net/ethernet/amd/xgbe/xgbe-pci.c | 4 +-
drivers/net/ethernet/amd/xgbe/xgbe.h | 11 +--
drivers/net/ethernet/broadcom/cnic.c | 19 ++---
drivers/net/ethernet/broadcom/cnic.h | 2 +-
drivers/net/ethernet/cadence/macb.h | 3 +-
drivers/net/ethernet/cadence/macb_main.c | 10 +--
.../net/ethernet/cavium/liquidio/lio_core.c | 4 +-
.../net/ethernet/cavium/liquidio/lio_main.c | 25 +++----
.../ethernet/cavium/liquidio/lio_vf_main.c | 10 +--
.../ethernet/cavium/liquidio/octeon_droq.c | 4 +-
.../ethernet/cavium/liquidio/octeon_main.h | 5 +-
.../net/ethernet/cavium/octeon/octeon_mgmt.c | 12 ++--
drivers/net/ethernet/cavium/thunder/nic.h | 5 +-
.../net/ethernet/cavium/thunder/nicvf_main.c | 24 +++----
.../ethernet/cavium/thunder/nicvf_queues.c | 5 +-
.../ethernet/cavium/thunder/nicvf_queues.h | 3 +-
drivers/net/ethernet/chelsio/cxgb/sge.c | 19 ++---
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h | 9 +--
.../net/ethernet/chelsio/cxgb4/cxgb4_main.c | 2 +-
.../ethernet/chelsio/cxgb4/cxgb4_tc_mqprio.c | 4 +-
.../net/ethernet/chelsio/cxgb4/cxgb4_uld.c | 2 +-
drivers/net/ethernet/chelsio/cxgb4/sge.c | 41 +++++------
drivers/net/ethernet/chelsio/cxgb4vf/sge.c | 6 +-
drivers/net/ethernet/dlink/sundance.c | 41 +++++------
.../net/ethernet/huawei/hinic/hinic_hw_cmdq.c | 2 +-
.../net/ethernet/huawei/hinic/hinic_hw_eqs.c | 17 +++--
.../net/ethernet/huawei/hinic/hinic_hw_eqs.h | 2 +-
drivers/net/ethernet/ibm/ehea/ehea.h | 3 +-
drivers/net/ethernet/ibm/ehea/ehea_main.c | 14 ++--
drivers/net/ethernet/ibm/ibmvnic.c | 24 +++----
drivers/net/ethernet/ibm/ibmvnic.h | 2 +-
drivers/net/ethernet/jme.c | 72 +++++++++----------
drivers/net/ethernet/jme.h | 9 +--
.../net/ethernet/marvell/mvpp2/mvpp2_main.c | 2 +-
drivers/net/ethernet/marvell/skge.c | 12 ++--
drivers/net/ethernet/marvell/skge.h | 3 +-
drivers/net/ethernet/mediatek/mtk_wed_wo.c | 12 ++--
drivers/net/ethernet/mediatek/mtk_wed_wo.h | 3 +-
drivers/net/ethernet/mellanox/mlx4/cq.c | 42 +++++------
drivers/net/ethernet/mellanox/mlx4/eq.c | 10 +--
drivers/net/ethernet/mellanox/mlx4/mlx4.h | 11 +--
drivers/net/ethernet/mellanox/mlx5/core/cq.c | 38 +++++-----
drivers/net/ethernet/mellanox/mlx5/core/eq.c | 12 ++--
.../ethernet/mellanox/mlx5/core/fpga/conn.c | 15 ++--
.../ethernet/mellanox/mlx5/core/fpga/conn.h | 3 +-
.../net/ethernet/mellanox/mlx5/core/lib/eq.h | 11 +--
drivers/net/ethernet/mellanox/mlxsw/pci.c | 29 ++++----
drivers/net/ethernet/micrel/ks8842.c | 29 ++++----
drivers/net/ethernet/micrel/ksz884x.c | 37 +++++-----
drivers/net/ethernet/microchip/lan743x_ptp.c | 2 +-
drivers/net/ethernet/natsemi/ns83820.c | 10 +--
drivers/net/ethernet/netronome/nfp/nfd3/dp.c | 7 +-
.../net/ethernet/netronome/nfp/nfd3/nfd3.h | 2 +-
drivers/net/ethernet/netronome/nfp/nfdk/dp.c | 6 +-
.../net/ethernet/netronome/nfp/nfdk/nfdk.h | 3 +-
drivers/net/ethernet/netronome/nfp/nfp_net.h | 4 +-
.../ethernet/netronome/nfp/nfp_net_common.c | 12 ++--
.../net/ethernet/netronome/nfp/nfp_net_dp.h | 4 +-
drivers/net/ethernet/ni/nixge.c | 19 ++---
drivers/net/ethernet/qlogic/qed/qed.h | 2 +-
drivers/net/ethernet/qlogic/qed/qed_int.c | 6 +-
drivers/net/ethernet/qlogic/qed/qed_int.h | 4 +-
drivers/net/ethernet/qlogic/qed/qed_main.c | 20 +++---
drivers/net/ethernet/sfc/falcon/farch.c | 4 +-
drivers/net/ethernet/sfc/falcon/net_driver.h | 2 +-
drivers/net/ethernet/sfc/falcon/selftest.c | 2 +-
drivers/net/ethernet/sfc/net_driver.h | 2 +-
drivers/net/ethernet/sfc/selftest.c | 2 +-
drivers/net/ethernet/sfc/siena/farch.c | 4 +-
drivers/net/ethernet/sfc/siena/net_driver.h | 2 +-
drivers/net/ethernet/sfc/siena/selftest.c | 2 +-
drivers/net/ethernet/silan/sc92031.c | 47 ++++++------
drivers/net/ethernet/smsc/smc91x.c | 16 ++---
drivers/net/ethernet/smsc/smc91x.h | 3 +-
include/linux/mlx4/device.h | 2 +-
include/linux/mlx5/cq.h | 2 +-
83 files changed, 501 insertions(+), 473 deletions(-)

--
2.17.1