From: Slava Ovsiienko <viacheslavo@nvidia.com>
To: Suanming Mou <suanmingm@nvidia.com>,
Matan Azrad <matan@nvidia.com>, Ray Kinsella <mdr@ashroe.eu>
Cc: "dev@dpdk.org" <dev@dpdk.org>,
Raslan Darawsheh <rasland@nvidia.com>, Ori Kam <orika@nvidia.com>,
Jack Min <jackmin@nvidia.com>
Subject: RE: [PATCH v6 08/18] net/mlx5: add HW steering counter action
Date: Mon, 24 Oct 2022 09:45:10 +0000 [thread overview]
Message-ID: <DM6PR12MB3753256B4AC9AC8FEBC801DCDF2E9@DM6PR12MB3753.namprd12.prod.outlook.com> (raw)
In-Reply-To: <20221020154152.28228-9-suanmingm@nvidia.com>
> -----Original Message-----
> From: Suanming Mou <suanmingm@nvidia.com>
> Sent: Thursday, October 20, 2022 18:42
> To: Matan Azrad <matan@nvidia.com>; Slava Ovsiienko
> <viacheslavo@nvidia.com>; Ray Kinsella <mdr@ashroe.eu>
> Cc: dev@dpdk.org; Raslan Darawsheh <rasland@nvidia.com>; Ori Kam
> <orika@nvidia.com>; Jack Min <jackmin@nvidia.com>
> Subject: [PATCH v6 08/18] net/mlx5: add HW steering counter action
>
> From: Xiaoyu Min <jackmin@nvidia.com>
>
> This commit adds HW steering counter action support.
> Pool mechanism is the basic data structure for the HW steering counter.
>
> The HW steering's counter pool is based on the rte_ring of zero-copy
> variation.
>
> There are two global rte_rings:
> 1. free_list:
> Store the counters indexes, which are ready for use.
> 2. wait_reset_list:
> Store the counters indexes, which are just freed from the user and
> need to query the hardware counter to get the reset value before
> this counter can be reused again.
>
> The counter pool also supports cache per HW steering's queues, which are
> also based on rte_ring of zero-copy variation.
>
> The cache can be configured in size, preload, threshold, and fetch size,
> they are all exposed via device args.
>
> The main operations of the counter pool are as follows:
>
> - Get one counter from the pool:
> 1. The user call _get_* API.
> 2. If the cache is enabled, dequeue one counter index from the local
> cache:
> 2.A: if the dequeued one from the local cache is still in reset
> status (counter's query_gen_when_free is equal to pool's query
> gen):
> I. Flush all counters in local cache back to global
> wait_reset_list.
> II. Fetch _fetch_sz_ counters into the cache from the global
> free list.
> III. Fetch one counter from the cache.
> 3. If the cache is empty, fetch _fetch_sz_ counters from the global
> free list into the cache and fetch one counter from the cache.
> - Free one counter into the pool:
> 1. The user calls _put_* API.
> 2. Put the counter into the local cache.
> 3. If the local cache is full:
> 3.A: Write back all counters above _threshold_ into the global
> wait_reset_list.
> 3.B: Also, write back this counter into the global wait_reset_list.
>
> When the local cache is disabled, _get_/_put_ cache directly from/into
> global list.
>
> Signed-off-by: Xiaoyu Min <jackmin@nvidia.com>
Acked-by: Viacheslav Ovsiienko <viacheslavo@nvidia.com>
next prev parent reply other threads:[~2022-10-24 9:45 UTC|newest]
Thread overview: 140+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-09-23 14:43 [PATCH 00/27] net/mlx5: HW steering PMD update Suanming Mou
2022-09-23 14:43 ` [PATCH 01/27] net/mlx5: fix invalid flow attributes Suanming Mou
2022-09-23 14:43 ` [PATCH 02/27] net/mlx5: fix IPv6 and TCP RSS hash fields Suanming Mou
2022-09-23 14:43 ` [PATCH 03/27] net/mlx5: add shared header reformat support Suanming Mou
2022-09-23 14:43 ` [PATCH 04/27] net/mlx5: add modify field hws support Suanming Mou
2022-09-23 14:43 ` [PATCH 05/27] net/mlx5: validate modify field action template Suanming Mou
2022-09-23 14:43 ` [PATCH 06/27] net/mlx5: enable mark flag for all ports in the same domain Suanming Mou
2022-09-23 14:43 ` [PATCH 07/27] net/mlx5: create port actions Suanming Mou
2022-09-23 14:43 ` [PATCH 08/27] net/mlx5: add extended metadata mode for hardware steering Suanming Mou
2022-09-23 14:43 ` [PATCH 09/27] ethdev: add meter profiles/policies config Suanming Mou
2022-09-23 14:43 ` [PATCH 10/27] net/mlx5: add HW steering meter action Suanming Mou
2022-09-23 14:43 ` [PATCH 11/27] net/mlx5: add HW steering counter action Suanming Mou
2022-09-23 14:43 ` [PATCH 12/27] net/mlx5: support caching queue action Suanming Mou
2022-09-23 14:43 ` [PATCH 13/27] net/mlx5: support DR action template API Suanming Mou
2022-09-23 14:43 ` [PATCH 14/27] net/mlx5: fix indirect action validate Suanming Mou
2022-09-23 14:43 ` [PATCH 15/27] net/mlx5: update indirect actions ops to HW variation Suanming Mou
2022-09-23 14:43 ` [PATCH 16/27] net/mlx5: support indirect count action for HW steering Suanming Mou
2022-09-23 14:43 ` [PATCH 17/27] net/mlx5: add pattern and table attribute validation Suanming Mou
2022-09-23 14:43 ` [PATCH 18/27] net/mlx5: add meta item support in egress Suanming Mou
2022-09-23 14:43 ` [PATCH 19/27] net/mlx5: add support for ASO return register Suanming Mou
2022-09-23 14:43 ` [PATCH 20/27] lib/ethdev: add connection tracking configuration Suanming Mou
2022-09-23 14:43 ` [PATCH 21/27] net/mlx5: add HW steering connection tracking support Suanming Mou
2022-09-23 14:43 ` [PATCH 22/27] net/mlx5: add HW steering VLAN push, pop and VID modify flow actions Suanming Mou
2022-09-23 14:43 ` [PATCH 23/27] net/mlx5: add meter color flow matching in dv Suanming Mou
2022-09-23 14:43 ` [PATCH 24/27] net/mlx5: add meter color flow matching in hws Suanming Mou
2022-09-23 14:43 ` [PATCH 25/27] net/mlx5: implement profile/policy get Suanming Mou
2022-09-23 14:43 ` [PATCH 26/27] net/mlx5: implement METER MARK action for HWS Suanming Mou
2022-09-23 14:43 ` [PATCH 27/27] net/mlx5: implement METER MARK indirect " Suanming Mou
2022-09-28 3:31 ` [PATCH v2 00/17] net/mlx5: HW steering PMD update Suanming Mou
2022-09-28 3:31 ` [PATCH v2 01/17] net/mlx5: fix invalid flow attributes Suanming Mou
2022-09-28 3:31 ` [PATCH v2 02/17] net/mlx5: fix IPv6 and TCP RSS hash fields Suanming Mou
2022-09-28 3:31 ` [PATCH v2 03/17] net/mlx5: add shared header reformat support Suanming Mou
2022-09-28 3:31 ` [PATCH v2 04/17] net/mlx5: add modify field hws support Suanming Mou
2022-09-28 3:31 ` [PATCH v2 05/17] net/mlx5: add HW steering port action Suanming Mou
2022-09-28 3:31 ` [PATCH v2 06/17] net/mlx5: add extended metadata mode for hardware steering Suanming Mou
2022-09-28 3:31 ` [PATCH v2 07/17] net/mlx5: add HW steering meter action Suanming Mou
2022-09-28 3:31 ` [PATCH v2 08/17] net/mlx5: add HW steering counter action Suanming Mou
2022-09-28 3:31 ` [PATCH v2 09/17] net/mlx5: support DR action template API Suanming Mou
2022-09-28 3:31 ` [PATCH v2 10/17] net/mlx5: add HW steering connection tracking support Suanming Mou
2022-09-28 3:31 ` [PATCH v2 11/17] net/mlx5: add HW steering VLAN push, pop and VID modify flow actions Suanming Mou
2022-09-28 3:31 ` [PATCH v2 12/17] net/mlx5: implement METER MARK indirect action for HWS Suanming Mou
2022-09-28 3:31 ` [PATCH v2 13/17] net/mlx5: add HWS AGE action support Suanming Mou
2022-09-28 3:31 ` [PATCH v2 14/17] net/mlx5: add async action push and pull support Suanming Mou
2022-09-28 3:31 ` [PATCH v2 15/17] net/mlx5: support flow integrity in HWS group 0 Suanming Mou
2022-09-28 3:31 ` [PATCH v2 16/17] net/mlx5: support device control for E-Switch default rule Suanming Mou
2022-09-28 3:31 ` [PATCH v2 17/17] net/mlx5: support device control of representor matching Suanming Mou
2022-09-30 12:52 ` [PATCH v3 00/17] net/mlx5: HW steering PMD update Suanming Mou
2022-09-30 12:52 ` [PATCH v3 01/17] net/mlx5: fix invalid flow attributes Suanming Mou
2022-09-30 12:53 ` [PATCH v3 02/17] net/mlx5: fix IPv6 and TCP RSS hash fields Suanming Mou
2022-09-30 12:53 ` [PATCH v3 03/17] net/mlx5: add shared header reformat support Suanming Mou
2022-09-30 12:53 ` [PATCH v3 04/17] net/mlx5: add modify field hws support Suanming Mou
2022-09-30 12:53 ` [PATCH v3 05/17] net/mlx5: add HW steering port action Suanming Mou
2022-09-30 12:53 ` [PATCH v3 06/17] net/mlx5: add extended metadata mode for hardware steering Suanming Mou
2022-09-30 12:53 ` [PATCH v3 07/17] net/mlx5: add HW steering meter action Suanming Mou
2022-09-30 12:53 ` [PATCH v3 08/17] net/mlx5: add HW steering counter action Suanming Mou
2022-09-30 12:53 ` [PATCH v3 09/17] net/mlx5: support DR action template API Suanming Mou
2022-09-30 12:53 ` [PATCH v3 10/17] net/mlx5: add HW steering connection tracking support Suanming Mou
2022-09-30 12:53 ` [PATCH v3 11/17] net/mlx5: add HW steering VLAN push, pop and VID modify flow actions Suanming Mou
2022-09-30 12:53 ` [PATCH v3 12/17] net/mlx5: implement METER MARK indirect action for HWS Suanming Mou
2022-09-30 12:53 ` [PATCH v3 13/17] net/mlx5: add HWS AGE action support Suanming Mou
2022-09-30 12:53 ` [PATCH v3 14/17] net/mlx5: add async action push and pull support Suanming Mou
2022-09-30 12:53 ` [PATCH v3 15/17] net/mlx5: support flow integrity in HWS group 0 Suanming Mou
2022-09-30 12:53 ` [PATCH v3 16/17] net/mlx5: support device control for E-Switch default rule Suanming Mou
2022-09-30 12:53 ` [PATCH v3 17/17] net/mlx5: support device control of representor matching Suanming Mou
2022-10-19 16:25 ` [PATCH v4 00/18] net/mlx5: HW steering PMD update Suanming Mou
2022-10-19 16:25 ` [PATCH v4 01/18] net/mlx5: fix invalid flow attributes Suanming Mou
2022-10-19 16:25 ` [PATCH v4 02/18] net/mlx5: fix IPv6 and TCP RSS hash fields Suanming Mou
2022-10-19 16:25 ` [PATCH v4 03/18] net/mlx5: add shared header reformat support Suanming Mou
2022-10-19 16:25 ` [PATCH v4 04/18] net/mlx5: add modify field hws support Suanming Mou
2022-10-19 16:25 ` [PATCH v4 05/18] net/mlx5: add HW steering port action Suanming Mou
2022-10-19 16:25 ` [PATCH v4 06/18] net/mlx5: add extended metadata mode for hardware steering Suanming Mou
2022-10-19 16:25 ` [PATCH v4 07/18] net/mlx5: add HW steering meter action Suanming Mou
2022-10-19 16:25 ` [PATCH v4 08/18] net/mlx5: add HW steering counter action Suanming Mou
2022-10-19 16:25 ` [PATCH v4 09/18] net/mlx5: support DR action template API Suanming Mou
2022-10-19 16:25 ` [PATCH v4 10/18] net/mlx5: add HW steering connection tracking support Suanming Mou
2022-10-19 16:25 ` [PATCH v4 11/18] net/mlx5: add HW steering VLAN push, pop and VID modify flow actions Suanming Mou
2022-10-19 16:25 ` [PATCH v4 12/18] net/mlx5: implement METER MARK indirect action for HWS Suanming Mou
2022-10-19 16:25 ` [PATCH v4 13/18] net/mlx5: add HWS AGE action support Suanming Mou
2022-10-19 16:25 ` [PATCH v4 14/18] net/mlx5: add async action push and pull support Suanming Mou
2022-10-19 16:25 ` [PATCH v4 15/18] net/mlx5: support flow integrity in HWS group 0 Suanming Mou
2022-10-19 16:25 ` [PATCH v4 16/18] net/mlx5: support device control for E-Switch default rule Suanming Mou
2022-10-19 16:25 ` [PATCH v4 17/18] net/mlx5: support device control of representor matching Suanming Mou
2022-10-19 16:25 ` [PATCH v4 18/18] net/mlx5: create control flow rules with HWS Suanming Mou
2022-10-20 3:21 ` [PATCH v5 00/18] net/mlx5: HW steering PMD update Suanming Mou
2022-10-20 3:21 ` [PATCH v5 01/18] net/mlx5: fix invalid flow attributes Suanming Mou
2022-10-20 3:21 ` [PATCH v5 02/18] net/mlx5: fix IPv6 and TCP RSS hash fields Suanming Mou
2022-10-20 3:21 ` [PATCH v5 03/18] net/mlx5: add shared header reformat support Suanming Mou
2022-10-20 3:21 ` [PATCH v5 04/18] net/mlx5: add modify field hws support Suanming Mou
2022-10-20 3:21 ` [PATCH v5 05/18] net/mlx5: add HW steering port action Suanming Mou
2022-10-20 3:21 ` [PATCH v5 06/18] net/mlx5: add extended metadata mode for hardware steering Suanming Mou
2022-10-20 3:21 ` [PATCH v5 07/18] net/mlx5: add HW steering meter action Suanming Mou
2022-10-20 3:22 ` [PATCH v5 08/18] net/mlx5: add HW steering counter action Suanming Mou
2022-10-20 3:22 ` [PATCH v5 09/18] net/mlx5: support DR action template API Suanming Mou
2022-10-20 3:22 ` [PATCH v5 10/18] net/mlx5: add HW steering connection tracking support Suanming Mou
2022-10-20 3:22 ` [PATCH v5 11/18] net/mlx5: add HW steering VLAN push, pop and VID modify flow actions Suanming Mou
2022-10-20 3:22 ` [PATCH v5 12/18] net/mlx5: implement METER MARK indirect action for HWS Suanming Mou
2022-10-20 3:22 ` [PATCH v5 13/18] net/mlx5: add HWS AGE action support Suanming Mou
2022-10-20 3:22 ` [PATCH v5 14/18] net/mlx5: add async action push and pull support Suanming Mou
2022-10-20 3:22 ` [PATCH v5 15/18] net/mlx5: support flow integrity in HWS group 0 Suanming Mou
2022-10-20 3:22 ` [PATCH v5 16/18] net/mlx5: support device control for E-Switch default rule Suanming Mou
2022-10-20 3:22 ` [PATCH v5 17/18] net/mlx5: support device control of representor matching Suanming Mou
2022-10-20 3:22 ` [PATCH v5 18/18] net/mlx5: create control flow rules with HWS Suanming Mou
2022-10-20 15:41 ` [PATCH v6 00/18] net/mlx5: HW steering PMD update Suanming Mou
2022-10-20 15:41 ` [PATCH v6 01/18] net/mlx5: fix invalid flow attributes Suanming Mou
2022-10-24 9:43 ` Slava Ovsiienko
2022-10-20 15:41 ` [PATCH v6 02/18] net/mlx5: fix IPv6 and TCP RSS hash fields Suanming Mou
2022-10-24 9:43 ` Slava Ovsiienko
2022-10-20 15:41 ` [PATCH v6 03/18] net/mlx5: add shared header reformat support Suanming Mou
2022-10-24 9:44 ` Slava Ovsiienko
2022-10-20 15:41 ` [PATCH v6 04/18] net/mlx5: add modify field hws support Suanming Mou
2022-10-24 9:44 ` Slava Ovsiienko
2022-10-20 15:41 ` [PATCH v6 05/18] net/mlx5: add HW steering port action Suanming Mou
2022-10-24 9:44 ` Slava Ovsiienko
2022-10-20 15:41 ` [PATCH v6 06/18] net/mlx5: add extended metadata mode for hardware steering Suanming Mou
2022-10-24 9:45 ` Slava Ovsiienko
2022-10-20 15:41 ` [PATCH v6 07/18] net/mlx5: add HW steering meter action Suanming Mou
2022-10-24 9:44 ` Slava Ovsiienko
2022-10-20 15:41 ` [PATCH v6 08/18] net/mlx5: add HW steering counter action Suanming Mou
2022-10-24 9:45 ` Slava Ovsiienko [this message]
2022-10-20 15:41 ` [PATCH v6 09/18] net/mlx5: support DR action template API Suanming Mou
2022-10-24 9:45 ` Slava Ovsiienko
2022-10-20 15:41 ` [PATCH v6 10/18] net/mlx5: add HW steering connection tracking support Suanming Mou
2022-10-24 9:46 ` Slava Ovsiienko
2022-10-20 15:41 ` [PATCH v6 11/18] net/mlx5: add HW steering VLAN push, pop and VID modify flow actions Suanming Mou
2022-10-24 9:46 ` Slava Ovsiienko
2022-10-20 15:41 ` [PATCH v6 12/18] net/mlx5: implement METER MARK indirect action for HWS Suanming Mou
2022-10-24 9:46 ` Slava Ovsiienko
2022-10-20 15:41 ` [PATCH v6 13/18] net/mlx5: add HWS AGE action support Suanming Mou
2022-10-24 9:46 ` Slava Ovsiienko
2022-10-20 15:41 ` [PATCH v6 14/18] net/mlx5: add async action push and pull support Suanming Mou
2022-10-24 9:47 ` Slava Ovsiienko
2022-10-20 15:41 ` [PATCH v6 15/18] net/mlx5: support flow integrity in HWS group 0 Suanming Mou
2022-10-24 9:47 ` Slava Ovsiienko
2022-10-20 15:41 ` [PATCH v6 16/18] net/mlx5: support device control for E-Switch default rule Suanming Mou
2022-10-24 9:47 ` Slava Ovsiienko
2022-10-20 15:41 ` [PATCH v6 17/18] net/mlx5: support device control of representor matching Suanming Mou
2022-10-24 9:47 ` Slava Ovsiienko
2022-10-20 15:41 ` [PATCH v6 18/18] net/mlx5: create control flow rules with HWS Suanming Mou
2022-10-24 9:48 ` Slava Ovsiienko
2022-10-24 10:57 ` [PATCH v6 00/18] net/mlx5: HW steering PMD update Raslan Darawsheh
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=DM6PR12MB3753256B4AC9AC8FEBC801DCDF2E9@DM6PR12MB3753.namprd12.prod.outlook.com \
--to=viacheslavo@nvidia.com \
--cc=dev@dpdk.org \
--cc=jackmin@nvidia.com \
--cc=matan@nvidia.com \
--cc=mdr@ashroe.eu \
--cc=orika@nvidia.com \
--cc=rasland@nvidia.com \
--cc=suanmingm@nvidia.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).