From: Thomas Monjalon <thomas@monjalon.net>
To: Dariusz Sosnowski <dsosnowski@nvidia.com>,
Ferruh Yigit <ferruh.yigit@amd.com>
Cc: Matan Azrad <matan@nvidia.com>,
Viacheslav Ovsiienko <viacheslavo@nvidia.com>,
Ori Kam <orika@nvidia.com>, Suanming Mou <suanmingm@nvidia.com>,
Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru>,
dev@dpdk.org
Subject: Re: [PATCH v3] ethdev: fast path async flow API
Date: Wed, 07 Feb 2024 10:27:45 +0100 [thread overview]
Message-ID: <2956397.VdNmn5OnKV@thomas> (raw)
In-Reply-To: <2b0c7fe0-5713-4416-987e-34da0dc4aaef@amd.com>
07/02/2024 01:57, Ferruh Yigit:
> On 2/6/2024 10:21 PM, Thomas Monjalon wrote:
> > 06/02/2024 18:36, Dariusz Sosnowski:
> >> --- a/doc/guides/nics/build_and_test.rst
> >> +++ b/doc/guides/nics/build_and_test.rst
> >> +- ``RTE_FLOW_DEBUG`` (default **disabled**; enabled automatically on debug builds)
> >> +
> >> + Build with debug code in asynchronous flow APIs.
> >> +
> >> .. Note::
> >>
> >> - The ethdev library use above options to wrap debug code to trace invalid parameters
> >> + The ethdev library uses above options to wrap debug code to trace invalid parameters
> >> on data path APIs, so performance downgrade is expected when enabling those options.
> >> - Each PMD can decide to reuse them to wrap their own debug code in the Rx/Tx path.
> >> + Each PMD can decide to reuse them to wrap their own debug code in the Rx/Tx path
> >> + and in asynchronous flow APIs implementation.
> >
> > Good
> >
> >> --- a/doc/guides/rel_notes/release_24_03.rst
> >> +++ b/doc/guides/rel_notes/release_24_03.rst
> >> +* ethdev: PMDs implementing asynchronous flow operations are required to provide relevant functions
> >> + implementation through ``rte_flow_fp_ops`` struct, instead of ``rte_flow_ops`` struct.
> >> + Pointer to device-dependent ``rte_flow_fp_ops`` should be provided to ``rte_eth_dev.flow_fp_ops``.
> >
> > That's a change only for the driver.
> > If there is no change for the application, it should not appear in the release notes.
> > BTW, API means Application Programming Interface :)
> >
> >> + This change applies to the following API functions:
> >> +
> >> + * ``rte_flow_async_create``
> >> + * ``rte_flow_async_create_by_index``
> >> + * ``rte_flow_async_actions_update``
> >> + * ``rte_flow_async_destroy``
> >> + * ``rte_flow_push``
> >> + * ``rte_flow_pull``
> >> + * ``rte_flow_async_action_handle_create``
> >> + * ``rte_flow_async_action_handle_destroy``
> >> + * ``rte_flow_async_action_handle_update``
> >> + * ``rte_flow_async_action_handle_query``
> >> + * ``rte_flow_async_action_handle_query_update``
> >> + * ``rte_flow_async_action_list_handle_create``
> >> + * ``rte_flow_async_action_list_handle_destroy``
> >> + * ``rte_flow_async_action_list_handle_query_update``
> >> +
> >> +* ethdev: Removed the following fields from ``rte_flow_ops`` struct:
> >> +
> >> + * ``async_create``
> >> + * ``async_create_by_index``
> >> + * ``async_actions_update``
> >> + * ``async_destroy``
> >> + * ``push``
> >> + * ``pull``
> >> + * ``async_action_handle_create``
> >> + * ``async_action_handle_destroy``
> >> + * ``async_action_handle_update``
> >> + * ``async_action_handle_query``
> >> + * ``async_action_handle_query_update``
> >> + * ``async_action_list_handle_create``
> >> + * ``async_action_list_handle_destroy``
> >> + * ``async_action_list_handle_query_update``
> >
> > [...]
> >> --- a/lib/ethdev/ethdev_driver.h
> >> +++ b/lib/ethdev/ethdev_driver.h
> >> @@ -71,6 +71,10 @@ struct rte_eth_dev {
> >> struct rte_eth_dev_data *data;
> >> void *process_private; /**< Pointer to per-process device data */
> >> const struct eth_dev_ops *dev_ops; /**< Functions exported by PMD */
> >> + /**
> >> + * Fast path flow API functions exported by PMD.
> >> + */
> >
> > This comment may be on one single line.
> >
> >> + const struct rte_flow_fp_ops *flow_fp_ops;
> >> struct rte_device *device; /**< Backing device */
> >> struct rte_intr_handle *intr_handle; /**< Device interrupt handle */
> >
> >> --- a/lib/ethdev/meson.build
> >> +++ b/lib/ethdev/meson.build
> >> +if get_option('buildtype').contains('debug')
> >> + cflags += ['-DRTE_FLOW_DEBUG']
> >> +endif
> >
> > This looks OK.
> >
> > Acked-by: Thomas Monjalon <thomas@monjalon.net>
> >
> >
>
> Acked-by: Ferruh Yigit <ferruh.yigit@amd.com>
>
> Applied to dpdk-next-net/main, thanks.
Ferruh, I was expecting a new version.
Did you address yourself the comments above?
next prev parent reply other threads:[~2024-02-07 9:27 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-01-30 18:17 [PATCH] ethdev: fast path async flow API Dariusz Sosnowski
2024-01-31 9:35 ` [PATCH v2] " Dariusz Sosnowski
2024-01-31 13:20 ` Ori Kam
2024-02-05 11:07 ` Thomas Monjalon
2024-02-05 13:14 ` Dariusz Sosnowski
2024-02-05 14:03 ` Thomas Monjalon
2024-02-06 17:50 ` Dariusz Sosnowski
2024-02-06 17:36 ` [PATCH v3] " Dariusz Sosnowski
2024-02-06 22:21 ` Thomas Monjalon
2024-02-07 0:57 ` Ferruh Yigit
2024-02-07 9:27 ` Thomas Monjalon [this message]
2024-02-07 10:47 ` Ferruh Yigit
2024-02-07 10:56 ` Ferruh Yigit
2024-02-07 11:54 ` Ferruh Yigit
2024-02-07 12:06 ` Dariusz Sosnowski
2024-02-07 13:31 ` Thomas Monjalon
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=2956397.VdNmn5OnKV@thomas \
--to=thomas@monjalon.net \
--cc=andrew.rybchenko@oktetlabs.ru \
--cc=dev@dpdk.org \
--cc=dsosnowski@nvidia.com \
--cc=ferruh.yigit@amd.com \
--cc=matan@nvidia.com \
--cc=orika@nvidia.com \
--cc=suanmingm@nvidia.com \
--cc=viacheslavo@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 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.