Merge branch '200GbE' of git://git.kernel.org/pub/scm/linux/kernel/git/tnguy/net...
authorJakub Kicinski <kuba@kernel.org>
Fri, 22 Aug 2025 22:59:52 +0000 (15:59 -0700)
committerJakub Kicinski <kuba@kernel.org>
Fri, 22 Aug 2025 22:59:52 +0000 (15:59 -0700)
commitc61ac2ec102bb659e7d2e7c0f3553f9356341682
tree4916aef7dd61a90f6dcb1a5bd9691f1275bb442f
parenta64494aafc56939564e3e9e57f99df5c27204e04
parent6c4e68480238274f84aa50d54da0d9e262df6284
Merge branch '200GbE' of git://git./linux/kernel/git/tnguy/net-queue

Tony Nguyen says:

====================
idpf: replace Tx flow scheduling buffer ring with buffer pool

Joshua Hay says:

This series fixes a stability issue in the flow scheduling Tx send/clean
path that results in a Tx timeout.

The existing guardrails in the Tx path were not sufficient to prevent
the driver from reusing completion tags that were still in flight (held
by the HW).  This collision would cause the driver to erroneously clean
the wrong packet thus leaving the descriptor ring in a bad state.

The main point of this fix is to replace the flow scheduling buffer ring
with a large pool/array of buffers.  The completion tag then simply is
the index into this array.  The driver tracks the free tags and pulls
the next free one from a refillq.  The cleaning routines simply use the
completion tag from the completion descriptor to index into the array to
quickly find the buffers to clean.

All of the code to support this is added first to ensure traffic still
passes with each patch.  The final patch then removes all of the
obsolete stashing code.

* '200GbE' of git://git.kernel.org/pub/scm/linux/kernel/git/tnguy/net-queue:
  idpf: remove obsolete stashing code
  idpf: stop Tx if there are insufficient buffer resources
  idpf: replace flow scheduling buffer ring with buffer pool
  idpf: simplify and fix splitq Tx packet rollback error path
  idpf: improve when to set RE bit logic
  idpf: add support for Tx refillqs in flow scheduling mode
====================

Link: https://patch.msgid.link/20250821180100.401955-1-anthony.l.nguyen@intel.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>