This patchset improves the mlx5 PMD performance by doing better prefetching, by reordering internal structure fields and by removing a few unnecessary operations.
Note: should be applied after "Add flow director and RX VLAN stripping support" to avoid conflicts. Changes in v3: - None, submitted again due to dependency with previous patchset. Changes in v2: - Rebased patchset on top of dpdk-next-net/rel_16_04. - Fixed missing update for receive function in rxq_rehash(). - Added a commit to register memory on page boundaries instead of mempool object boundaries for better performance (mlx4 and mlx5). Adrien Mazarguil (1): mlx: use aligned memory to register regions Nelio Laranjeiro (6): mlx5: prefetch next TX mbuf header and data mlx5: reorder TX/RX queue structure mlx5: remove one indirection level from RX/TX functions mlx5: process offload flags only when requested mlx5: avoid lkey retrieval for inlined packets mlx5: free buffers immediately after completion drivers/net/mlx4/mlx4.c | 58 ++++++++++--- drivers/net/mlx5/Makefile | 1 + drivers/net/mlx5/mlx5_rxq.c | 22 +++-- drivers/net/mlx5/mlx5_rxtx.c | 189 +++++++++++++++++++++++++++---------------- drivers/net/mlx5/mlx5_rxtx.h | 55 ++++++++----- drivers/net/mlx5/mlx5_txq.c | 14 ++++ 6 files changed, 236 insertions(+), 103 deletions(-) -- 2.1.4