From: Suanming Mou <suanmingm@mellanox.com>
Cc: wentaoc@mellanox.com, rasland@mellanox.com, dev@dpdk.org
Subject: [dpdk-dev] [PATCH 00/10] net/mlx5: optimize flow structure
Date: Wed, 15 Apr 2020 14:39:47 +0800 [thread overview]
Message-ID: <1586932797-99533-1-git-send-email-suanmingm@mellanox.com> (raw)
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. The bit members are reorganized to align with bytes.
Some extra optimizations:
1. Allocate meter resource from indexed memory pool.
2. Allocate none RSS 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://patches.dpdk.org/cover/68226/
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 mlx5 flow RSS struct
net/mlx5: allocate rte flow from indexed pool
net/mlx5: optimize flow meter handle type
net/mlx5: allocate meter from indexed pool
net/mlx5: allocate metadata object from indexed pool
net/mlx5: reorganize rte flow structure
Wentao Cui (1):
net/mlx5: optimize flow director filter memory
drivers/net/mlx5/mlx5.c | 35 +++++++-
drivers/net/mlx5/mlx5.h | 5 ++
drivers/net/mlx5/mlx5_flow.c | 168 +++++++++++++++++++++++++++----------
drivers/net/mlx5/mlx5_flow.h | 83 +++++++++++-------
drivers/net/mlx5/mlx5_flow_dv.c | 135 ++++++++++++++++++-----------
drivers/net/mlx5/mlx5_flow_meter.c | 11 +--
drivers/net/mlx5/mlx5_flow_verbs.c | 91 +++++++++++---------
7 files changed, 363 insertions(+), 165 deletions(-)
--
1.8.3.1
next reply other threads:[~2020-04-15 6:40 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-04-15 6:39 Suanming Mou [this message]
2020-04-15 6:39 ` [dpdk-dev] [PATCH 01/10] net/mlx5: reorganize fate actions as union Suanming Mou
2020-04-15 6:39 ` [dpdk-dev] [PATCH 02/10] net/mlx5: optimize action flags in flow handle Suanming Mou
2020-04-15 6:39 ` [dpdk-dev] [PATCH 03/10] net/mlx5: reorganize the mlx5 flow handle struct Suanming Mou
2020-04-15 6:39 ` [dpdk-dev] [PATCH 04/10] net/mlx5: optimize mlx5 flow RSS struct Suanming Mou
2020-04-15 6:39 ` [dpdk-dev] [PATCH 05/10] net/mlx5: allocate rte flow from indexed pool Suanming Mou
2020-04-15 6:39 ` [dpdk-dev] [PATCH 06/10] net/mlx5: optimize flow meter handle type Suanming Mou
2020-04-15 6:39 ` [dpdk-dev] [PATCH 07/10] net/mlx5: allocate meter from indexed pool Suanming Mou
2020-04-15 6:39 ` [dpdk-dev] [PATCH 08/10] net/mlx5: allocate metadata object " Suanming Mou
2020-04-15 6:39 ` [dpdk-dev] [PATCH 09/10] net/mlx5: optimize flow director filter memory Suanming Mou
2020-04-15 6:39 ` [dpdk-dev] [PATCH 10/10] net/mlx5: reorganize rte flow structure Suanming Mou
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1586932797-99533-1-git-send-email-suanmingm@mellanox.com \
--to=suanmingm@mellanox.com \
--cc=dev@dpdk.org \
--cc=rasland@mellanox.com \
--cc=wentaoc@mellanox.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).