From: David Marchand <david.marchand@redhat.com>
To: Andrew Rybchenko <arybchenko@solarflare.com>
Cc: Jerin Jacob <jerinj@marvell.com>,
Nikhil Rao <nikhil.rao@intel.com>,
Erik Gabriel Carrillo <erik.g.carrillo@intel.com>,
dev <dev@dpdk.org>, Dilshod Urazov <Dilshod.Urazov@oktetlabs.ru>,
dpdk stable <stable@dpdk.org>
Subject: Re: [dpdk-dev] [dpdk-stable] [PATCH 1/3] eventdev: fix to set positive rte_errno
Date: Thu, 4 Jul 2019 13:34:44 +0200 [thread overview]
Message-ID: <CAJFAV8ztp86sGANMd3e3mqBpfy0jPNjv5FdqOY4MTneCm7y=2A@mail.gmail.com> (raw)
In-Reply-To: <1562234612-631-2-git-send-email-arybchenko@solarflare.com>
We have fixes for different releases, expect the stable maintainers to ask
for help :-)
On Thu, Jul 4, 2019 at 12:04 PM Andrew Rybchenko <arybchenko@solarflare.com>
wrote:
> From: Dilshod Urazov <Dilshod.Urazov@oktetlabs.ru>
>
> Fixes: c9bf83947e2e ("eventdev: add eth Tx adapter APIs")
>
v18.11-rc1~724
Fixes: 47d05b292820 ("eventdev: add timer adapter common code")
>
v18.05-rc1~462
> Fixes: 6750b21bd6af ("eventdev: add default software timer adapter")
>
v18.05-rc1~460
> Fixes: c75f7897ea35 ("eventdev: set error code in port link/unlink
> functions")
>
v18.02-rc1~202
> Fixes: 7d1acc9dde93 ("eventdev: introduce helper function for enqueue
> burst")
>
v17.08-rc1~90
Fixes: 406aed4e0dd9 ("eventdev: add errno-style return values")
>
v17.05-rc1~166
> Fixes: c64e1b7b20d2 ("eventdev: add new software event timer adapter")
>
This last sha1 c64e1b7b20d2 is unknown to my git.
Please, can you double check?
Cc: stable@dpdk.org
>
> Signed-off-by: Dilshod Urazov <Dilshod.Urazov@oktetlabs.ru>
> Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com>
> ---
> lib/librte_eventdev/rte_event_eth_tx_adapter.h | 8 ++++----
> lib/librte_eventdev/rte_event_timer_adapter.c | 18 +++++++++---------
> lib/librte_eventdev/rte_eventdev.c | 16 ++++++++--------
> lib/librte_eventdev/rte_eventdev.h | 26
> +++++++++++++-------------
> 4 files changed, 34 insertions(+), 34 deletions(-)
>
> diff --git a/lib/librte_eventdev/rte_event_eth_tx_adapter.h
> b/lib/librte_eventdev/rte_event_eth_tx_adapter.h
> index 9bed12b..c848261 100644
> --- a/lib/librte_eventdev/rte_event_eth_tx_adapter.h
> +++ b/lib/librte_eventdev/rte_event_eth_tx_adapter.h
> @@ -332,10 +332,10 @@ struct rte_event_eth_tx_adapter_stats {
> * *rte_event*. If the return value is less than *nb_events*, the
> remaining
> * events at the end of ev[] are not consumed and the caller has to
> take care
> * of them, and rte_errno is set accordingly. Possible errno values
> include:
> - * - -EINVAL The port ID is invalid, device ID is invalid, an event's
> queue
> + * - EINVAL The port ID is invalid, device ID is invalid, an event's
> queue
> * ID is invalid, or an event's sched type doesn't match the
> * capabilities of the destination queue.
> - * - -ENOSPC The event port was backpressured and unable to enqueue
> + * - ENOSPC The event port was backpressured and unable to enqueue
> * one or more events. This error code is only applicable to
> * closed systems.
> */
> @@ -350,12 +350,12 @@ struct rte_event_eth_tx_adapter_stats {
> #ifdef RTE_LIBRTE_EVENTDEV_DEBUG
> if (dev_id >= RTE_EVENT_MAX_DEVS ||
> !rte_eventdevs[dev_id].attached) {
> - rte_errno = -EINVAL;
> + rte_errno = EINVAL;
> return 0;
> }
>
> if (port_id >= dev->data->nb_ports) {
> - rte_errno = -EINVAL;
> + rte_errno = EINVAL;
> return 0;
> }
> #endif
> diff --git a/lib/librte_eventdev/rte_event_timer_adapter.c
> b/lib/librte_eventdev/rte_event_timer_adapter.c
> index 459bc47..5ce399e 100644
> --- a/lib/librte_eventdev/rte_event_timer_adapter.c
> +++ b/lib/librte_eventdev/rte_event_timer_adapter.c
> @@ -192,17 +192,17 @@ struct rte_event_timer_adapter *
> &adapter->data->caps,
> &adapter->ops);
> if (ret < 0) {
> - rte_errno = ret;
> + rte_errno = -ret;
> goto free_memzone;
> }
>
> if (!(adapter->data->caps &
> RTE_EVENT_TIMER_ADAPTER_CAP_INTERNAL_PORT)) {
> - FUNC_PTR_OR_NULL_RET_WITH_ERRNO(conf_cb, -EINVAL);
> + FUNC_PTR_OR_NULL_RET_WITH_ERRNO(conf_cb, EINVAL);
> ret = conf_cb(adapter->data->id,
> adapter->data->event_dev_id,
> &adapter->data->event_port_id, conf_arg);
> if (ret < 0) {
> - rte_errno = ret;
> + rte_errno = -ret;
> goto free_memzone;
> }
> }
> @@ -214,10 +214,10 @@ struct rte_event_timer_adapter *
> adapter->ops = &swtim_ops;
>
> /* Allow driver to do some setup */
> - FUNC_PTR_OR_NULL_RET_WITH_ERRNO(adapter->ops->init, -ENOTSUP);
> + FUNC_PTR_OR_NULL_RET_WITH_ERRNO(adapter->ops->init, ENOTSUP);
> ret = adapter->ops->init(adapter);
> if (ret < 0) {
> - rte_errno = ret;
> + rte_errno = -ret;
> goto free_memzone;
> }
>
> @@ -509,11 +509,11 @@ struct event_buffer {
> *nb_events_flushed = rte_event_enqueue_burst(dev_id, port_id,
> &events[tail_idx], n);
> if (*nb_events_flushed != n) {
> - if (rte_errno == -EINVAL) {
> + if (rte_errno == EINVAL) {
> EVTIM_LOG_ERR("failed to enqueue invalid event - "
> "dropping it");
> (*nb_events_inv)++;
> - } else if (rte_errno == -ENOSPC)
> + } else if (rte_errno == ENOSPC)
> rte_pause();
> }
>
> @@ -832,7 +832,7 @@ struct swtim {
> if (ret < 0) {
> if (ret != -EALREADY) {
> EVTIM_LOG_ERR("failed to initialize timer
> subsystem");
> - rte_errno = ret;
> + rte_errno = -ret;
> goto free_mempool;
> }
> }
> @@ -840,7 +840,7 @@ struct swtim {
> ret = rte_timer_data_alloc(&sw->timer_data_id);
> if (ret < 0) {
> EVTIM_LOG_ERR("failed to allocate timer data instance");
> - rte_errno = ret;
> + rte_errno = -ret;
> goto free_mempool;
> }
>
> diff --git a/lib/librte_eventdev/rte_eventdev.c
> b/lib/librte_eventdev/rte_eventdev.c
> index cc3199f..f44c869 100644
> --- a/lib/librte_eventdev/rte_eventdev.c
> +++ b/lib/librte_eventdev/rte_eventdev.c
> @@ -889,18 +889,18 @@
> uint16_t *links_map;
> int i, diag;
>
> - RTE_EVENTDEV_VALID_DEVID_OR_ERRNO_RET(dev_id, -EINVAL, 0);
> + RTE_EVENTDEV_VALID_DEVID_OR_ERRNO_RET(dev_id, EINVAL, 0);
> dev = &rte_eventdevs[dev_id];
>
> if (*dev->dev_ops->port_link == NULL) {
> RTE_EDEV_LOG_ERR("Function not supported\n");
> - rte_errno = -ENOTSUP;
> + rte_errno = ENOTSUP;
> return 0;
> }
>
> if (!is_valid_port(dev, port_id)) {
> RTE_EDEV_LOG_ERR("Invalid port_id=%" PRIu8, port_id);
> - rte_errno = -EINVAL;
> + rte_errno = EINVAL;
> return 0;
> }
>
> @@ -921,7 +921,7 @@
>
> for (i = 0; i < nb_links; i++)
> if (queues[i] >= dev->data->nb_queues) {
> - rte_errno = -EINVAL;
> + rte_errno = EINVAL;
> return 0;
> }
>
> @@ -948,18 +948,18 @@
> int i, diag, j;
> uint16_t *links_map;
>
> - RTE_EVENTDEV_VALID_DEVID_OR_ERRNO_RET(dev_id, -EINVAL, 0);
> + RTE_EVENTDEV_VALID_DEVID_OR_ERRNO_RET(dev_id, EINVAL, 0);
> dev = &rte_eventdevs[dev_id];
>
> if (*dev->dev_ops->port_unlink == NULL) {
> RTE_EDEV_LOG_ERR("Function not supported");
> - rte_errno = -ENOTSUP;
> + rte_errno = ENOTSUP;
> return 0;
> }
>
> if (!is_valid_port(dev, port_id)) {
> RTE_EDEV_LOG_ERR("Invalid port_id=%" PRIu8, port_id);
> - rte_errno = -EINVAL;
> + rte_errno = EINVAL;
> return 0;
> }
>
> @@ -988,7 +988,7 @@
> nb_unlinks = j;
> for (i = 0; i < nb_unlinks; i++)
> if (queues[i] >= dev->data->nb_queues) {
> - rte_errno = -EINVAL;
> + rte_errno = EINVAL;
> return 0;
> }
>
> diff --git a/lib/librte_eventdev/rte_eventdev.h
> b/lib/librte_eventdev/rte_eventdev.h
> index 927f43c..5044a13 100644
> --- a/lib/librte_eventdev/rte_eventdev.h
> +++ b/lib/librte_eventdev/rte_eventdev.h
> @@ -1318,12 +1318,12 @@ struct rte_eventdev {
>
> #ifdef RTE_LIBRTE_EVENTDEV_DEBUG
> if (dev_id >= RTE_EVENT_MAX_DEVS ||
> !rte_eventdevs[dev_id].attached) {
> - rte_errno = -EINVAL;
> + rte_errno = EINVAL;
> return 0;
> }
>
> if (port_id >= dev->data->nb_ports) {
> - rte_errno = -EINVAL;
> + rte_errno = EINVAL;
> return 0;
> }
> #endif
> @@ -1372,10 +1372,10 @@ struct rte_eventdev {
> * *rte_event*. If the return value is less than *nb_events*, the
> remaining
> * events at the end of ev[] are not consumed and the caller has to
> take care
> * of them, and rte_errno is set accordingly. Possible errno values
> include:
> - * - -EINVAL The port ID is invalid, device ID is invalid, an event's
> queue
> + * - EINVAL The port ID is invalid, device ID is invalid, an event's
> queue
> * ID is invalid, or an event's sched type doesn't match the
> * capabilities of the destination queue.
> - * - -ENOSPC The event port was backpressured and unable to enqueue
> + * - ENOSPC The event port was backpressured and unable to enqueue
> * one or more events. This error code is only applicable to
> * closed systems.
> * @see rte_event_port_attr_get(), RTE_EVENT_PORT_ATTR_ENQ_DEPTH
> @@ -1422,10 +1422,10 @@ struct rte_eventdev {
> * *rte_event*. If the return value is less than *nb_events*, the
> remaining
> * events at the end of ev[] are not consumed and the caller has to
> take care
> * of them, and rte_errno is set accordingly. Possible errno values
> include:
> - * - -EINVAL The port ID is invalid, device ID is invalid, an event's
> queue
> + * - EINVAL The port ID is invalid, device ID is invalid, an event's
> queue
> * ID is invalid, or an event's sched type doesn't match the
> * capabilities of the destination queue.
> - * - -ENOSPC The event port was backpressured and unable to enqueue
> + * - ENOSPC The event port was backpressured and unable to enqueue
> * one or more events. This error code is only applicable to
> * closed systems.
> * @see rte_event_port_attr_get(), RTE_EVENT_PORT_ATTR_ENQ_DEPTH
> @@ -1473,10 +1473,10 @@ struct rte_eventdev {
> * *rte_event*. If the return value is less than *nb_events*, the
> remaining
> * events at the end of ev[] are not consumed and the caller has to
> take care
> * of them, and rte_errno is set accordingly. Possible errno values
> include:
> - * - -EINVAL The port ID is invalid, device ID is invalid, an event's
> queue
> + * - EINVAL The port ID is invalid, device ID is invalid, an event's
> queue
> * ID is invalid, or an event's sched type doesn't match the
> * capabilities of the destination queue.
> - * - -ENOSPC The event port was backpressured and unable to enqueue
> + * - ENOSPC The event port was backpressured and unable to enqueue
> * one or more events. This error code is only applicable to
> * closed systems.
> * @see rte_event_port_attr_get(), RTE_EVENT_PORT_ATTR_ENQ_DEPTH
> @@ -1595,12 +1595,12 @@ struct rte_eventdev {
>
> #ifdef RTE_LIBRTE_EVENTDEV_DEBUG
> if (dev_id >= RTE_EVENT_MAX_DEVS ||
> !rte_eventdevs[dev_id].attached) {
> - rte_errno = -EINVAL;
> + rte_errno = EINVAL;
> return 0;
> }
>
> if (port_id >= dev->data->nb_ports) {
> - rte_errno = -EINVAL;
> + rte_errno = EINVAL;
> return 0;
> }
> #endif
> @@ -1673,9 +1673,9 @@ struct rte_eventdev {
> * of link[] are not established, and the caller has to take care of them.
> * If return value is less than *nb_links* then implementation shall
> update the
> * rte_errno accordingly, Possible rte_errno values are
> - * (-EDQUOT) Quota exceeded(Application tried to link the queue
> configured with
> + * (EDQUOT) Quota exceeded(Application tried to link the queue configured
> with
> * RTE_EVENT_QUEUE_CFG_SINGLE_LINK to more than one event ports)
> - * (-EINVAL) Invalid parameter
> + * (EINVAL) Invalid parameter
> *
> */
> int
> @@ -1720,7 +1720,7 @@ struct rte_eventdev {
> * end of queues[] are not unlinked, and the caller has to take care of
> them.
> * If return value is less than *nb_unlinks* then implementation shall
> update
> * the rte_errno accordingly, Possible rte_errno values are
> - * (-EINVAL) Invalid parameter
> + * (EINVAL) Invalid parameter
> */
> int
> rte_event_port_unlink(uint8_t dev_id, uint8_t port_id,
> --
> 1.8.3.1
>
>
Reviewed-by: David Marchand <david.marchand@redhat.com>
--
David Marchand
next prev parent reply other threads:[~2019-07-04 11:34 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-07-04 10:03 [dpdk-dev] [PATCH 0/3] eventdev fixes " Andrew Rybchenko
2019-07-04 10:03 ` [dpdk-dev] [PATCH 1/3] eventdev: fix " Andrew Rybchenko
2019-07-04 11:34 ` David Marchand [this message]
2019-07-04 11:56 ` [dpdk-dev] [dpdk-stable] " Andrew Rybchenko
2019-07-04 11:58 ` David Marchand
2019-07-04 12:13 ` [dpdk-dev] [EXT] " Jerin Jacob Kollanukkaran
2019-07-04 10:03 ` [dpdk-dev] [PATCH 2/3] event/sw: " Andrew Rybchenko
2019-07-04 10:43 ` Van Haaren, Harry
2019-07-04 10:03 ` [dpdk-dev] [PATCH 3/3] event/opdl: " Andrew Rybchenko
2019-07-04 11:41 ` David Marchand
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='CAJFAV8ztp86sGANMd3e3mqBpfy0jPNjv5FdqOY4MTneCm7y=2A@mail.gmail.com' \
--to=david.marchand@redhat.com \
--cc=Dilshod.Urazov@oktetlabs.ru \
--cc=arybchenko@solarflare.com \
--cc=dev@dpdk.org \
--cc=erik.g.carrillo@intel.com \
--cc=jerinj@marvell.com \
--cc=nikhil.rao@intel.com \
--cc=stable@dpdk.org \
/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).