[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20240730183403.4176544-1-allen.lkml@gmail.com>
Date: Tue, 30 Jul 2024 11:33:48 -0700
From: Allen Pais <allen.lkml@...il.com>
To: kuba@...nel.org,
Matthias Brugger <matthias.bgg@...il.com>,
AngeloGioacchino Del Regno <angelogioacchino.delregno@...labora.com>
Cc: jes@...ined-monkey.org,
davem@...emloft.net,
edumazet@...gle.com,
pabeni@...hat.com,
kda@...ux-powerpc.org,
cai.huoqing@...ux.dev,
dougmill@...ux.ibm.com,
npiggin@...il.com,
christophe.leroy@...roup.eu,
aneesh.kumar@...nel.org,
naveen.n.rao@...ux.ibm.com,
nnac123@...ux.ibm.com,
tlfalcon@...ux.ibm.com,
cooldavid@...ldavid.org,
marcin.s.wojtas@...il.com,
mlindner@...vell.com,
stephen@...workplumber.org,
nbd@....name,
sean.wang@...iatek.com,
Mark-MC.Lee@...iatek.com,
lorenzo@...nel.org,
borisp@...dia.com,
bryan.whitehead@...rochip.com,
UNGLinuxDriver@...rochip.com,
louis.peens@...igine.com,
richardcochran@...il.com,
linux-rdma@...r.kernel.org,
linux-kernel@...r.kernel.org,
linux-acenic@...site.dk,
linux-net-drivers@....com,
netdev@...r.kernel.org,
Allen Pais <allen.lkml@...il.com>,
linux-arm-kernel@...ts.infradead.org,
linux-mediatek@...ts.infradead.org
Subject: [net-next v3 00/15] ethernet: Convert from tasklet to BH workqueue
The only generic interface to execute asynchronously in the BH context is
tasklet; however, it's marked deprecated and has some design flaws. To
replace tasklets, BH workqueue support was recently added. A BH workqueue
behaves similarly to regular workqueues except that the queued work items
are executed in the BH context.
This patch converts a few drivers in drivers/ethernet/* from tasklet
to BH workqueue. The next set will be sent out after the next -rc is
out.
This series is based on
1722389b0d86 (Merge tag 'net-6.11-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net)
[v3]:
- Include Reviewed-by signature
- hinic: can show work_pending() as a partial replacement for the tasklet state.
- mvpp2: retain and re-word comment.
- fix rxempty_bh_work() which will emit 'RX Queue Full!'
message, so the change should be visibile to the user.
[v2]:
https://lore.kernel.org/all/20240621183947.4105278-1-allen.lkml@gmail.com/
[v1]:
First version converting all the drivers can be found at:
https://lore.kernel.org/all/20240507190111.16710-2-apais@linux.microsoft.com/
Allen Pais (15):
net: alteon: Convert tasklet API to new bottom half workqueue
mechanism
net: xgbe: Convert tasklet API to new bottom half workqueue mechanism
net: cnic: Convert tasklet API to new bottom half workqueue mechanism
net: macb: Convert tasklet API to new bottom half workqueue mechanism
net: cavium/liquidio: Convert tasklet API to new bottom half workqueue
mechanism
net: octeon: Convert tasklet API to new bottom half workqueue
mechanism
net: thunderx: Convert tasklet API to new bottom half workqueue
mechanism
net: chelsio: Convert tasklet API to new bottom half workqueue
mechanism
net: sundance: Convert tasklet API to new bottom half workqueue
mechanism
net: hinic: Convert tasklet API to new bottom half workqueue mechanism
net: ehea: Convert tasklet API to new bottom half workqueue mechanism
net: ibmvnic: Convert tasklet API to new bottom half workqueue
mechanism
net: jme: Convert tasklet API to new bottom half workqueue mechanism
net: marvell: Convert tasklet API to new bottom half workqueue
mechanism
net: mtk-wed: Convert tasklet API to new bottom half workqueue
mechanism
drivers/net/ethernet/alteon/acenic.c | 26 +++---
drivers/net/ethernet/alteon/acenic.h | 8 +-
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 | 10 +--
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 | 24 +++---
.../ethernet/cavium/liquidio/lio_vf_main.c | 10 +--
.../ethernet/cavium/liquidio/octeon_droq.c | 4 +-
.../ethernet/cavium/liquidio/octeon_main.h | 4 +-
.../net/ethernet/cavium/octeon/octeon_mgmt.c | 13 +--
drivers/net/ethernet/cavium/thunder/nic.h | 5 +-
.../net/ethernet/cavium/thunder/nicvf_main.c | 24 +++---
.../ethernet/cavium/thunder/nicvf_queues.c | 4 +-
.../ethernet/cavium/thunder/nicvf_queues.h | 2 +-
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 | 40 +++++-----
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 | 18 ++---
.../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 | 80 ++++++++++---------
drivers/net/ethernet/jme.h | 9 ++-
.../net/ethernet/marvell/mvpp2/mvpp2_main.c | 9 ++-
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 +-
43 files changed, 288 insertions(+), 266 deletions(-)
--
2.34.1
Powered by blists - more mailing lists