aboutsummaryrefslogtreecommitdiffstats
path: root/io_uring
diff options
authorDaniel Borkmann <daniel@iogearbox.net>2026-04-03 01:10:22 +0200
committerJakub Kicinski <kuba@kernel.org>2026-04-09 18:21:46 -0700
commit1e91c98bc9a8ef8198e73151b2a118cd3748925d (patch)
treea7ab53f99a89ca8cf395234782c3fac67268ce6b /io_uring
parent22fdf28f7c03d3c130103ee77382c53d293f1732 (diff)
downloadath-1e91c98bc9a8ef8198e73151b2a118cd3748925d.tar.gz
net: Slightly simplify net_mp_{open,close}_rxq
net_mp_open_rxq is currently not used in the tree as all callers are using __net_mp_open_rxq directly, and net_mp_close_rxq is only used once while all other locations use __net_mp_close_rxq. Consolidate into a single API, netif_mp_{open,close}_rxq, using the netif_ prefix to indicate that the caller is responsible for locking. Signed-off-by: Daniel Borkmann <daniel@iogearbox.net> Co-developed-by: David Wei <dw@davidwei.uk> Signed-off-by: David Wei <dw@davidwei.uk> Reviewed-by: Nikolay Aleksandrov <razor@blackwall.org> Link: https://patch.msgid.link/20260402231031.447597-6-daniel@iogearbox.net Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Diffstat (limited to 'io_uring')
-rw-r--r--io_uring/zcrx.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/io_uring/zcrx.c b/io_uring/zcrx.c
index 62d693287457f..d3ec63c83d0ca 100644
--- a/io_uring/zcrx.c
+++ b/io_uring/zcrx.c
@@ -552,8 +552,11 @@ static void io_close_queue(struct io_zcrx_ifq *ifq)
}
if (netdev) {
- if (ifq->if_rxq != -1)
- net_mp_close_rxq(netdev, ifq->if_rxq, &p);
+ if (ifq->if_rxq != -1) {
+ netdev_lock(netdev);
+ netif_mp_close_rxq(netdev, ifq->if_rxq, &p);
+ netdev_unlock(netdev);
+ }
netdev_put(netdev, &netdev_tracker);
}
ifq->if_rxq = -1;
@@ -841,7 +844,7 @@ int io_register_zcrx_ifq(struct io_ring_ctx *ctx,
mp_param.rx_page_size = 1U << ifq->niov_shift;
mp_param.mp_ops = &io_uring_pp_zc_ops;
mp_param.mp_priv = ifq;
- ret = __net_mp_open_rxq(ifq->netdev, reg.if_rxq, &mp_param, NULL);
+ ret = netif_mp_open_rxq(ifq->netdev, reg.if_rxq, &mp_param, NULL);
if (ret)
goto netdev_put_unlock;
netdev_unlock(ifq->netdev);