Bug 1129 - net/mlx5: cannot transmit if Tx queue is setup with maximum number of descriptors
Summary: net/mlx5: cannot transmit if Tx queue is setup with maximum number of descrip...
Status: UNCONFIRMED
Alias: None
Product: DPDK
Classification: Unclassified
Component: ethdev (show other bugs)
Version: 22.11
Hardware: All All
: Normal normal
Target Milestone: ---
Assignee: dev
URL:
Depends on:
Blocks:
 
Reported: 2022-11-17 13:52 CET by Andrew Rybchenko
Modified: 2024-02-10 10:06 CET (History)
1 user (show)



Attachments

Description Andrew Rybchenko 2022-11-17 13:52:20 CET
net/mlx5: cannot transmit if Tx queue is setup with maximum number of descriptors

net/mlx5 does not report Rx/Tx descriptors limits (min/max/align).
As the result application sees theoretical maximum UINT16_MAX (65535) which is set as the default by ethdev.

If application tries to use the value to setup Tx queue, setup succeed, but Tx burst always returns 0. I guess the reason is in the following log message:

mlx5_net: port 0 increased number of descriptors in Tx queue 0 to the next power of two (0)

i.e. effective number of descriptors is equal to 0.
Comment 1 Andrew Rybchenko 2024-02-10 10:06:16 CET
Logs from run at UNH IOL:

https://ts-factory.io/bublik/v2/log/625098?focusId=627059&mode=treeAndinfoAndlog&experimental=true&lineNumber=1_53

RPC (DPDK,iut_rpcs[17]): rte_eth_tx_queue_setup(0, 0, 65535, 1, { tx_thresh={ pthresh=0, hthresh=0, wthresh=0 }, tx_rs_thresh=0, tx_free_thresh=0, txq_flags=, tx_deferred_start=0, offloads= }) -> 0 (RPC-EAGAIN)

mlx5_net: port 0 increased number of descriptors in Tx queue 0 to the next power of two (0)

As the result no single packet could be sent.

IMHO, it would be great to report correct min/max/align values for Tx and Rx descriptor limits.

Note You need to log in before you can comment on or make changes to this bug.