net/mlx5: optimize inline mbuf freeing
authorViacheslav Ovsiienko <viacheslavo@nvidia.com>
Fri, 22 Jan 2021 17:12:08 +0000 (17:12 +0000)
committerFerruh Yigit <ferruh.yigit@intel.com>
Fri, 29 Jan 2021 17:16:08 +0000 (18:16 +0100)
commit461108de8289dbda634438e1f3a47af5a7cf45d7
tree252a9d61be7b078cd39d7814f4f75b51791aa861
parent1832bc8ee8d412b1cf8e5a07c385c083d1417e58
net/mlx5: optimize inline mbuf freeing

The mlx5 PMD supports packet data inlining by pushing data
to the transmit descriptor. If packet is short enough and all
data are inline, the mbuf is not needed for data send anymore
and can be freed.

The mbuf free was performed in the most inner loop building
the transmit descriptors. This patch postpones the mbuf free
transaction to the tx_burst routine exit, optimizing the loop
and allowing the bulk freeing for the multiple mbufs in single
pool API call.

Signed-off-by: Viacheslav Ovsiienko <viacheslavo@nvidia.com>
Acked-by: Matan Azrad <matan@nvidia.com>
drivers/net/mlx5/mlx5_rxtx.c
drivers/net/mlx5/mlx5_rxtx.h