Hi, > -----Original Message----- > From: Alexander Kozyrev <akozy...@nvidia.com> > Sent: Sunday, November 1, 2020 6:15 PM > To: dev@dpdk.org > Cc: Raslan Darawsheh <rasl...@nvidia.com>; Slava Ovsiienko > <viachesl...@nvidia.com>; Matan Azrad <ma...@nvidia.com> > Subject: [PATCH v2] net/mlx5: support Flow Tag and Packet Header miniCQEs > > CQE compression allows us to save the PCI bandwidth and improve > the performance by compressing several CQEs together to a miniCQE. > But the miniCQE size is only 8 bytes and this limits the ability > to successfully keep the compression session in case of various > traffic patterns. > > The current miniCQE format only keeps the compression session alive > in case of uniform traffic with the Hash RSS as the only difference. > There are requests to keep the compression session in case of tagged > traffic by RTE Flow Mark Id and mixed UDP/TCP and IPv4/IPv6 traffic. > Add 2 new miniCQE formats in order to achieve the best performance > for these traffic patterns: Flow Tag and Packet Header miniCQEs. > > The existing rxq_cqe_comp_en devarg is modified to specify the > desired miniCQE format. Specifying 2 selects Flow Tag format > for better compression rate in case of RTE Flow Mark traffic. > Specifying 3 selects Checksum format (existing format for MPRQ). > Specifying 4 selects L3/L4 Header format for better compression > rate in case of mixed TCP/UDP and IPv4/IPv6 traffic. > > Signed-off-by: Alexander Kozyrev <akozy...@nvidia.com> > --- > v1: > https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Fpatc > hwork.dpdk.org%2Fpatch%2F82500%2F&data=04%7C01%7Crasland%40 > nvidia.com%7C396c0aafa96b4d3bd57808d87e813f93%7C43083d15727340c1b7 > db39efd9ccc17a%7C0%7C0%7C637398440875666226%7CUnknown%7CTWFpb > GZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI > 6Mn0%3D%7C1000&sdata=DuD7YpUNTqLAqTrcRVaGSm%2F4F6gtWK1I > q8Zh6lcvwtA%3D&reserved=0 > added ARM and PowerPC support, reworked x86 code > --- > doc/guides/nics/mlx5.rst | 8 + > doc/guides/rel_notes/release_20_11.rst | 2 + > drivers/common/mlx5/mlx5_devx_cmds.c | 7 +- > drivers/common/mlx5/mlx5_devx_cmds.h | 1 + > drivers/common/mlx5/mlx5_prm.h | 27 ++- > drivers/net/mlx5/mlx5.c | 7 + > drivers/net/mlx5/mlx5.h | 1 + > drivers/net/mlx5/mlx5_devx.c | 44 +++-- > drivers/net/mlx5/mlx5_rxtx.c | 151 +++++++++------ > drivers/net/mlx5/mlx5_rxtx.h | 2 + > drivers/net/mlx5/mlx5_rxtx_vec_altivec.h | 223 > ++++++++++++++++++++++- > drivers/net/mlx5/mlx5_rxtx_vec_neon.h | 141 +++++++++++++- > drivers/net/mlx5/mlx5_rxtx_vec_sse.h | 167 ++++++++++++++--- > 13 files changed, 675 insertions(+), 106 deletions(-) >
Patch applied to next-net-mlx, Kindest regards, Raslan Darawsheh