Hi, > -----Original Message----- > From: Suanming Mou <suanmi...@mellanox.com> > Sent: Thursday, April 16, 2020 11:34 AM > To: Slava Ovsiienko <viachesl...@mellanox.com>; Matan Azrad > <ma...@mellanox.com> > Cc: Ori Kam <or...@mellanox.com>; Wentao Cui <went...@mellanox.com>; > Raslan Darawsheh <rasl...@mellanox.com>; dev@dpdk.org > Subject: [PATCH v2 00/10] net/mlx5: optimize flow structure > > This patch set is third part of the flow memory consumption optimization. > It mainly optimizes the rte flow and mlx5 flow handle structure. > > For mlx5 flow handle structure: > 1. As one flow has only one fate action, the fate actions are reorganized > as union. > 2. The action flags are optimized to be the limited bits the flow needs. > 3. The bits members are reorganized to align with bytes. > > For rte flow structure: > 1. Meter handle is converted to uint32_t type as unique meter id. > 2. Fdir handle is converted to one bit to save the pointer to another list. > 3. Metadata handle is converted to uint32_t type as indexed. > 4. Remove the duplicated RSS member in rte flow. > 5. The bit members are reorganized to align with bytes. > > Some extra optimizations: > 1. Allocate meter resource from indexed memory pool. > 2. Allocate rte flow from indexed memory pool. > 3. Split RSS type, level, key to common memory as they are not required > for the flow destroy. > > This patch set should be applied after the patch series as below: > https://eur03.safelinks.protection.outlook.com/?url=https%3A%2F%2Fpatch > es.dpdk.org%2Fcover%2F68591%2F&data=02%7C01%7Crasland%40mell > anox.com%7C48b4af5f669f4b82e2ea08d7e1e10031%7Ca652971c7d2e4d9ba6 > a4d149256f461b%7C0%7C0%7C637226228837328616&sdata=tsWnTFMrX > tokGwo1usxzLbZ5HGV5OGxkCp9pMZ8Rocs%3D&reserved=0 > > v2: > - Add unified routine for fate actions release. > - Rmove RSS totally from rte flow. > - Allocate rte flow totally from indexed memory pool. > > Suanming Mou (9): > net/mlx5: reorganize fate actions as union > net/mlx5: optimize action flags in flow handle > net/mlx5: reorganize the mlx5 flow handle struct > net/mlx5: optimize flow meter handle type > net/mlx5: allocate meter from indexed pool > net/mlx5: convert mark copy resource to indexed > net/mlx5: optimize mlx5 flow RSS struct > net/mlx5: allocate rte flow from indexed pool > net/mlx5: reorganize rte flow structure > > Wentao Cui (1): > net/mlx5: optimize flow director filter memory > > drivers/net/mlx5/mlx5.c | 38 +++- > drivers/net/mlx5/mlx5.h | 19 +- > drivers/net/mlx5/mlx5_flow.c | 406 +++++++++++++++++++++++-------- > ------ > drivers/net/mlx5/mlx5_flow.h | 89 +++++--- > drivers/net/mlx5/mlx5_flow_dv.c | 214 +++++++++++-------- > drivers/net/mlx5/mlx5_flow_meter.c | 11 +- > drivers/net/mlx5/mlx5_flow_verbs.c | 98 +++++---- > 7 files changed, 554 insertions(+), 321 deletions(-) > > -- > 1.8.3.1
Series applied to next-net-mlx, Kindest regards, Raslan Darawsheh