From: Thomas Monjalon <thomas@monjalon.net>
To: Wei Dai <wei.dai@intel.com>
Cc: dev@dpdk.org, ferruh.yigit@intel.com, Qi Zhang <qi.z.zhang@intel.com>
Subject: Re: [PATCH v10] ethdev: new Rx/Tx offloads API
Date: Thu, 10 May 2018 04:35:55 +0200 [thread overview]
Message-ID: <7647125.8C0XxgkuRT@xps> (raw)
In-Reply-To: <1525913806-41723-1-git-send-email-wei.dai@intel.com>
Hi,
I am checking if this patch comply with goals discussed in the survey:
http://dpdk.org/ml/archives/dev/2018-March/094459.html
- Allow "forgetting" port offloads in queue offloads setup.
- An offload enabled at port level, cannot be disabled at queue level.
- Every queue capabilities must be reported as port capabilities.
- A capability should be reported at queue level
only if it can be enabled on queue when it is disabled on port level.
I think some items must be updated in doxygen comments of rte_ethdev.h.
Please could you try to do a v11 for doxygen? I will review it quickly.
Examples:
- in queue offloads:
"No need to repeat flags already enabled at port level.
A flag enabled at port level, cannot be disabled at queue level."
- in port capabilities: "(include per-queue capabilities)"
More comments below, thanks.
10/05/2018 02:56, Wei Dai:
> This patch check if a input requested offloading is valid or not.
> Any reuqested offloading must be supported in the device capabilities.
> Any offloading is disabled by default if it is not set in the parameter
> dev_conf->[rt]xmode.offloads to rte_eth_dev_configure( ) and
> [rt]x_conf->offloads to rte_eth_[rt]x_queue_setup( ).
> If any offloading is enabled in rte_eth_dev_configure( ) by application,
> it is enabled on all queues no matter whether it is per-queue or
> per-port type and no matter whether it is set or cleared in
> [rt]x_conf->offloads to rte_eth_[rt]x_queue_setup( ).
> If a per-queue offloading hasn't be enabled in rte_eth_dev_configure( ),
> it can be enabled or disabled for individual queue in
> ret_eth_[rt]x_queue_setup( ).
> A new added offloading is the one which hasn't been enabled in
> rte_eth_dev_configure( ) and is reuqested to be enabled in
> rte_eth_[rt]x_queue_setup( ), it must be per-queue type,
> otherwise triger an error log.
> The underlying PMD must be aware that the requested offloadings
> to PMD specific queue_setup( ) function only carries those
> new added offloadings of per-queue type.
Good summary.
Please forget the whitespace inside the parens.
> This patch can make above such checking in a common way in rte_ethdev
> layer to avoid same checking in underlying PMD.
Good
> --- a/doc/guides/prog_guide/poll_mode_drv.rst
> +++ b/doc/guides/prog_guide/poll_mode_drv.rst
> @@ -297,16 +297,30 @@ Per-Port and Per-Queue Offloads
> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
>
> In the DPDK offload API, offloads are divided into per-port and per-queue offloads.
> +A per-queue offloading can be enabled on a queue and disabled on another queue at the same time.
> +A pure per-port offloading can't be enabled on a queue and disabled on another queue at the same time.
> +A pure per-port offloading must be enabled or disabled on all queues at the same time.
> +A per-port offloading can be enabled or disabled on all queues at the same time.
What is the difference between pure per-port and per-port here?
> +It is certain that both per-queue and pure per-port offloading are per-port type.
I don't understand this sentence.
> The different offloads capabilities can be queried using ``rte_eth_dev_info_get()``.
> +The dev_info->[rt]x_queue_offload_capa returned from ``rte_eth_dev_info_get()`` includes all per-queue offloading capabilities.
> +The dev_info->[rt]x_offload_capa returned from ``rte_eth_dev_info_get()`` includes all per-port and per-queue offloading capabilities.
Yes
> +Any requested offloading by application must be within the device capabilities.
Yes
> +Any offloading is disabled by default if it is not set in the parameter
Yes
> +dev_conf->[rt]xmode.offloads to ``rte_eth_dev_configure( )`` and
> +[rt]x_conf->offloads to ``rte_eth_[rt]x_queue_setup( )``.
> +If any offloading is enabled in ``rte_eth_dev_configure( )`` by application,
> +it is enabled on all queues no matter whether it is per-queue or
> +per-port type and no matter whether it is set or cleared in
> +[rt]x_conf->offloads to ``rte_eth_[rt]x_queue_setup( )``.
> +If a per-queue offloading hasn't been enabled in ``rte_eth_dev_configure( )``,
> +it can be enabled or disabled in ``rte_eth_[rt]x_queue_setup( )`` for individual queue.
Yes
> +A new added offloads in [rt]x_conf->offloads to ``rte_eth_[rt]x_queue_setup( )`` input by application
> +is the one which hasn't been enabled in ``rte_eth_dev_configure( )`` and is requested to be enabled
> +in ``rte_eth_[rt]x_queue_setup( )``, it must be per-queue type, otherwise return error.
Yes
> --- a/doc/guides/rel_notes/release_18_05.rst
> +++ b/doc/guides/rel_notes/release_18_05.rst
> +* **ethdev: changes to offload API**
No need of bold formatting of title in API changes.
> +
> + A pure per-port offloading isn't requested to be repeated in [rt]x_conf->offloads to
> + ``rte_eth_[rt]x_queue_setup( )``. Now any offloading enabled in ``rte_eth_dev_configure( )``
> + can't be disabled by ``rte_eth_[rt]x_queue_setup( )``. Any new added offloading which has
> + not been enabled in ``rte_eth_dev_configure( )`` and is requested to be enabled in
> + ``rte_eth_[rt]x_queue_setup( )`` must be per-queue type, otherwise return error.
next prev parent reply other threads:[~2018-05-10 2:35 UTC|newest]
Thread overview: 60+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-02-01 13:53 [PATCH] ethdev: check consistency of per port offloads Wei Dai
2018-03-28 8:57 ` [PATCH v2] ethdev: check Rx/Tx offloads Wei Dai
2018-04-13 17:31 ` Ferruh Yigit
2018-04-15 10:37 ` Thomas Monjalon
2018-04-16 3:06 ` Dai, Wei
2018-04-25 11:26 ` [PATCH] " Wei Dai
2018-04-25 11:31 ` [PATCH v3] " Wei Dai
2018-04-25 11:49 ` Wei Dai
2018-04-25 11:50 ` [PATCH v4] " Wei Dai
2018-04-25 17:04 ` Ferruh Yigit
2018-04-26 7:59 ` Zhang, Qi Z
2018-04-26 8:18 ` Thomas Monjalon
2018-04-26 8:51 ` Zhang, Qi Z
2018-04-26 14:45 ` Dai, Wei
2018-04-26 14:37 ` [PATCH v5] " Wei Dai
2018-04-26 15:50 ` Ferruh Yigit
2018-04-26 15:56 ` Thomas Monjalon
2018-04-26 15:59 ` Ferruh Yigit
2018-04-26 16:11 ` Ferruh Yigit
2018-05-03 1:30 ` [PATCH v6] " Wei Dai
2018-05-04 11:12 ` Ferruh Yigit
2018-05-04 14:02 ` [PATCH v7] " Wei Dai
2018-05-04 14:42 ` Ferruh Yigit
2018-05-04 14:45 ` Ferruh Yigit
2018-05-05 18:59 ` Shahaf Shuler
2018-05-07 7:15 ` Dai, Wei
2018-05-08 10:58 ` Ferruh Yigit
2018-05-08 10:05 ` [PATCH v8] " Wei Dai
2018-05-08 10:41 ` Andrew Rybchenko
2018-05-08 11:02 ` Ferruh Yigit
2018-05-08 11:22 ` Andrew Rybchenko
2018-05-08 11:37 ` Andrew Rybchenko
2018-05-08 12:34 ` Dai, Wei
2018-05-08 12:12 ` Ferruh Yigit
2018-05-09 12:45 ` Dai, Wei
2018-05-10 0:49 ` [PATCH v9] ethdev: new Rx/Tx offloads API Wei Dai
2018-05-10 0:56 ` [PATCH v10] " Wei Dai
2018-05-10 1:28 ` Ferruh Yigit
2018-05-10 2:35 ` Thomas Monjalon [this message]
2018-05-10 11:27 ` Dai, Wei
2018-05-10 9:25 ` Andrew Rybchenko
2018-05-10 19:47 ` Ferruh Yigit
2018-05-10 11:30 ` [PATCH v11] " Wei Dai
2018-05-10 11:56 ` [PATCH v12] " Wei Dai
2018-05-10 21:39 ` Thomas Monjalon
2018-05-14 8:37 ` Thomas Monjalon
2018-05-14 11:19 ` Dai, Wei
2018-05-10 21:48 ` Ferruh Yigit
2018-05-14 12:00 ` [PATCH v13] " Wei Dai
2018-05-14 12:54 ` Thomas Monjalon
2018-05-14 13:26 ` Dai, Wei
2018-05-14 13:20 ` [PATCH v14] " Wei Dai
2018-05-14 14:11 ` Thomas Monjalon
2018-05-14 14:46 ` Ferruh Yigit
2018-05-10 21:08 ` [PATCH v10] " Ferruh Yigit
2018-05-08 10:10 ` [PATCH v8] ethdev: check Rx/Tx offloads Wei Dai
2018-05-08 17:51 ` Andrew Rybchenko
2018-05-09 2:10 ` Dai, Wei
2018-05-09 14:11 ` Ferruh Yigit
2018-05-09 22:40 ` 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=7647125.8C0XxgkuRT@xps \
--to=thomas@monjalon.net \
--cc=dev@dpdk.org \
--cc=ferruh.yigit@intel.com \
--cc=qi.z.zhang@intel.com \
--cc=wei.dai@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.