net/mlx5: adjust inline setting for large Tx queue sizes
authorViacheslav Ovsiienko <viacheslavo@mellanox.com>
Tue, 1 Oct 2019 06:53:37 +0000 (06:53 +0000)
committerFerruh Yigit <ferruh.yigit@intel.com>
Tue, 8 Oct 2019 10:14:32 +0000 (12:14 +0200)
commitb53cd86965a13f0d9efcd7fb02e96bb3f5215916
treea4be7502cb61fce7bec463d05a348f2e81be07ac
parent97e02581a15bade3f3f943cd16a965a577746006
net/mlx5: adjust inline setting for large Tx queue sizes

The hardware may have limitations on maximal amount of
supported Tx descriptors building blocks (WQEBB). Application
requires the Tx queue must accept the specified amount of packets.
If inline data feature is engaged the packet may require more WQEBBs
and overall amount of blocks may exceed the hardware capabilities.
Application has to make a trade-off between Tx queue size and maximal
data inline size.

In case if the inline settings are not requested explicitly with
devarg keys the default values are used. This patch adjusts the
applied default values if large Tx queue size is requested and
default inline settings can not be satisfied due to hardware
limitations.

The explicitly requested inline setting may be aligned (enlarging
only) by configurations routines to provide better WQEBB filling,
this implicit alignment is the subject for adjustment either.

The warning message is emitted to the log if adjustment happens.

Signed-off-by: Viacheslav Ovsiienko <viacheslavo@mellanox.com>
doc/guides/nics/mlx5.rst
drivers/net/mlx5/mlx5_txq.c