]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
net: xsk: dpaa2: avoid repeatedly updating the global consumer
authorJason Xing <kernelxing@tencent.com>
Mon, 23 Jun 2025 12:01:59 +0000 (20:01 +0800)
committerJakub Kicinski <kuba@kernel.org>
Wed, 25 Jun 2025 00:50:04 +0000 (17:50 -0700)
commitda7aee71616397234023e4ebd5c848a3c945f877
tree4ca79610ba9c1675dadcd655b6dd23127be86814
parenta19e5812dc96e6ad3ba6740a22d0ae45b4c059d8
net: xsk: dpaa2: avoid repeatedly updating the global consumer

This patch avoids another update of the consumer at the end of
dpaa2_xsk_tx().

In the zero copy xmit path, two versions (batched and non-batched)
regarding how the consumer of tx ring changes are implemented in
xsk_tx_peek_release_desc_batch() that eventually updates the local
consumer to the global consumer in either of the following call trace:
1) batched mode:
   xsk_tx_peek_release_desc_batch()
       __xskq_cons_release()
2) non-batched mode:
   xsk_tx_peek_release_desc_batch()
       xsk_tx_peek_release_fallback()
           xsk_tx_release()

As we can see, dpaa2_xsk_tx() doesn't need to call extra release function
to handle the sync of consumer itself.

Signed-off-by: Jason Xing <kernelxing@tencent.com>
Acked-by: Maciej Fijalkowski <maciej.fijalkowski@intel.com>
Link: https://patch.msgid.link/20250623120159.68374-1-kerneljasonxing@gmail.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/ethernet/freescale/dpaa2/dpaa2-xsk.c