All of lore.kernel.org
 help / color / mirror / Atom feed
From: Thomas Monjalon <thomas@monjalon.net>
To: Gregory Etelson <getelson@nvidia.com>
Cc: dev@dpdk.org, mkashani@nvidia.com, Ori Kam <orika@nvidia.com>,
	Ferruh Yigit <ferruh.yigit@amd.com>,
	Aman Singh <aman.deep.singh@intel.com>,
	Yuying Zhang <yuying.zhang@intel.com>,
	Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru>
Subject: Re: [PATCH v7] ethdev: add template table resize API
Date: Wed, 14 Feb 2024 15:42:21 +0100	[thread overview]
Message-ID: <3943481.NG923GbCHz@thomas> (raw)
In-Reply-To: <20240214143218.62630-1-getelson@nvidia.com>

14/02/2024 15:32, Gregory Etelson:
> +The resizable template table API enables applications to dynamically adjust
> +capacity of template tables without disrupting the existing flow rules
> +operation. The resizable template table API allows applications to optimize the
> +memory usage and performance of template tables according to the traffic
> +conditions and requirements.
> +
> +A typical use case for the resizable template table API:
> +
> +  #. Create a resizable table with the initial capacity.
> +  #. Change the table flow rules capacity.
> +  #. Update table flow objects.
> +  #. Complete the table resize.
> +
> +A resizable table can be either in normal or resizable state.
> +When application begins to resize the table, its state is changed to resizable.
> +The table stays in resizable state until the application finishes resize
> +procedure.
> +The application can resize a table in the normal state only.
> +
> +The application needs to set the ``RTE_FLOW_TABLE_SPECIALIZE_RESIZABLE`` bit in
> +the table attributes when creating a template table that can be resized,
> +and the bit cannot be set or cleared later.
> +
> +The application triggers the table resize by calling
> +the ``rte_flow_template_table_resize()`` function. The resize process updates
> +the table configuration to fit the new flow rules capacity.
> +Table resize does not change existing flow objects configuration.
> +The application can create new flow rules and modify or delete existing flow
> +rules while the table is resizing, but the table performance might be
> +slower than usual.
> +
> +Flow rules that existed before table resize are fully functional after
> +table resize. However, the application must update flow objects to match
> +the new table configuration.
> +The application calls ``rte_flow_async_update_resized()`` to update flow object
> +for the new table configuration.
> +All table flow rules must be updated.
> +
> +The application calls ``rte_flow_template_table_resize_complete()`` to return a
> +table to normal state after it completed flow objects update.

[...]
> + * Update flow for the new template table configuration after table resize.
> + * Must be called for each *rule* created before and after *table* resize.
> + * Must be called before rte_flow_template_table_resize_complete().

That's a clear explanation.

Acked-by: Thomas Monjalon <thomas@monjalon.net>



  reply	other threads:[~2024-02-14 14:42 UTC|newest]

Thread overview: 33+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-12-17  9:32 [PATCH] ethdev: add template table resize API Gregory Etelson
2024-01-29 14:24 ` Ferruh Yigit
2024-01-29 15:08   ` Etelson, Gregory
2024-01-30  8:58     ` Ferruh Yigit
2024-01-30 12:46       ` Etelson, Gregory
2024-01-30 14:34         ` Ferruh Yigit
2024-01-30 18:15           ` Etelson, Gregory
2024-02-08 12:46             ` Ferruh Yigit
2024-02-09  5:55               ` Etelson, Gregory
2024-01-30 14:56 ` Ferruh Yigit
2024-01-30 18:49   ` Etelson, Gregory
2024-01-31  9:59 ` [PATCH v2] " Gregory Etelson
2024-02-06 22:31   ` Thomas Monjalon
2024-02-07  7:09     ` Etelson, Gregory
2024-02-07  7:03 ` [PATCH v3] " Gregory Etelson
2024-02-07 17:36 ` [PATCH v4] " Gregory Etelson
2024-02-11  9:30 ` [PATCH v5] " Gregory Etelson
2024-02-12 14:02   ` Thomas Monjalon
2024-02-12 14:48     ` Etelson, Gregory
2024-02-12 14:14   ` Ferruh Yigit
2024-02-12 15:01     ` Etelson, Gregory
2024-02-12 15:07       ` Ferruh Yigit
2024-02-12 18:12 ` [PATCH v6] " Gregory Etelson
2024-02-12 20:30   ` Ferruh Yigit
2024-02-13 11:51   ` Thomas Monjalon
2024-02-14 14:32 ` [PATCH v7] " Gregory Etelson
2024-02-14 14:42   ` Thomas Monjalon [this message]
2024-02-14 15:56   ` Ferruh Yigit
2024-02-14 17:07     ` Etelson, Gregory
2024-02-14 21:59       ` Ferruh Yigit
2024-02-15  5:41         ` Etelson, Gregory
2024-02-15  6:13 ` [PATCH v8] " Gregory Etelson
2024-02-15 13:13   ` Ferruh Yigit

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=3943481.NG923GbCHz@thomas \
    --to=thomas@monjalon.net \
    --cc=aman.deep.singh@intel.com \
    --cc=andrew.rybchenko@oktetlabs.ru \
    --cc=dev@dpdk.org \
    --cc=ferruh.yigit@amd.com \
    --cc=getelson@nvidia.com \
    --cc=mkashani@nvidia.com \
    --cc=orika@nvidia.com \
    --cc=yuying.zhang@intel.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.