> Dear Joshua, > > > Thank you for these patches. One minor comment, should you resend. > > Am 25.06.25 um 18:11 schrieb Joshua Hay: > > 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 refactor is replace the flow scheduling buffer > > … to replace …?
Thanks, will fix in v2 > > > 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 the refactor is added first to ensure traffic > > still passes with each patch. The final patch then removes all of the > > obsolete stashing code. > > Do you have reproducers for the issue? This issue cannot be reproduced without the customer specific device configuration, but it can impact any traffic once in place. > > > Joshua Hay (5): > > idpf: add support for Tx refillqs in flow scheduling mode > > idpf: improve when to set RE bit logic > > idpf: replace flow scheduling buffer ring with buffer pool > > idpf: stop Tx if there are insufficient buffer resources > > idpf: remove obsolete stashing code > > > > .../ethernet/intel/idpf/idpf_singleq_txrx.c | 6 +- > > drivers/net/ethernet/intel/idpf/idpf_txrx.c | 626 ++++++------------ > > drivers/net/ethernet/intel/idpf/idpf_txrx.h | 76 +-- > > 3 files changed, 239 insertions(+), 469 deletions(-) > > > Kind regards, > > Paul Menzel Thanks, Josh
