In case if there were multiple bursts completed in the single completion the first only burst was moved to the done list. The situation is not typical, because usually tracing was used for scheduled traffic debugging and for this case each burst had its own completion requested, and there were no completions with multiple bursts.
Fixes: 9725191a7e14 ("net/mlx5: add Tx datapath trace analyzing script") Cc: sta...@dpdk.org Signed-off-by: Viacheslav Ovsiienko <viachesl...@nvidia.com> --- drivers/net/mlx5/tools/mlx5_trace.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/drivers/net/mlx5/tools/mlx5_trace.py b/drivers/net/mlx5/tools/mlx5_trace.py index 8c1fd0a350..67461520a9 100755 --- a/drivers/net/mlx5/tools/mlx5_trace.py +++ b/drivers/net/mlx5/tools/mlx5_trace.py @@ -258,13 +258,14 @@ def do_tx_complete(msg, trace): if burst.comp(wqe_id, wqe_ts) == 0: break rmv += 1 - # mode completed burst to done list + # move completed burst(s) to done list if rmv != 0: idx = 0 while idx < rmv: + burst = queue.wait_burst[idx] queue.done_burst.append(burst) idx += 1 - del queue.wait_burst[0:rmv] + queue.wait_burst = queue.wait_burst[rmv:] def do_tx(msg, trace): -- 2.34.1