From: Jerin Jacob <jerin.jacob@caviumnetworks.com>
To: Harry van Haaren <harry.van.haaren@intel.com>
Cc: dev@dpdk.org
Subject: Re: [PATCH v3 3/4] eventdev: add queue attribute function
Date: Mon, 11 Sep 2017 23:06:17 +0530 [thread overview]
Message-ID: <20170911173616.GA26002@jerin> (raw)
In-Reply-To: <1504885015-44642-4-git-send-email-harry.van.haaren@intel.com>
-----Original Message-----
> Date: Fri, 8 Sep 2017 16:36:54 +0100
> From: Harry van Haaren <harry.van.haaren@intel.com>
> To: dev@dpdk.org
> CC: jerin.jacob@caviumnetworks.com, Harry van Haaren
> <harry.van.haaren@intel.com>
> Subject: [PATCH v3 3/4] eventdev: add queue attribute function
> X-Mailer: git-send-email 2.7.4
>
> This commit adds a generic queue attribute function. It also removes
> the previous rte_event_queue_priority() and priority() functions, and
> updates the map files and unit tests to use the new attr functions.
>
> Signed-off-by: Harry van Haaren <harry.van.haaren@intel.com>
> ---
> lib/librte_eventdev/rte_eventdev.c | 47 ++++++++--------
> lib/librte_eventdev/rte_eventdev.h | 49 ++++++++---------
> lib/librte_eventdev/rte_eventdev_version.map | 3 +-
> test/test/test_eventdev.c | 80 +++++++++++++++++++++-------
> test/test/test_eventdev_octeontx.c | 75 +++++++++++++++++++-------
> 5 files changed, 166 insertions(+), 88 deletions(-)
>
> diff --git a/lib/librte_eventdev/rte_eventdev.c b/lib/librte_eventdev/rte_eventdev.c
> index 4b1c0be..3756ec7 100644
> --- a/lib/librte_eventdev/rte_eventdev.c
> +++ b/lib/librte_eventdev/rte_eventdev.c
> @@ -609,27 +609,6 @@ rte_event_queue_setup(uint8_t dev_id, uint8_t queue_id,
> return (*dev->dev_ops->queue_setup)(dev, queue_id, queue_conf);
> }
>
> static inline int
> is_valid_port(struct rte_eventdev *dev, uint8_t port_id)
> {
> @@ -794,6 +773,32 @@ rte_event_port_attr_get(uint8_t dev_id, uint8_t port_id, uint32_t attr_id,
> }
>
> int
> +rte_event_queue_attr_get(uint8_t dev_id, uint8_t queue_id, uint32_t attr_id,
> + uint32_t *attr_value /*out */)
> +{
> + struct rte_eventdev *dev;
> +
> + if (!attr_value)
> + return -EINVAL;
> +
> + RTE_EVENTDEV_VALID_DEVID_OR_ERR_RET(dev_id, -EINVAL);
> + dev = &rte_eventdevs[dev_id];
> + if (!is_valid_queue(dev, queue_id)) {
> + RTE_EDEV_LOG_ERR("Invalid queue_id=%" PRIu8, queue_id);
> + return -EINVAL;
> + }
> +
> + switch (attr_id) {
> + case RTE_EVENT_QUEUE_ATTR_PRIORITY:
> + *attr_value = RTE_EVENT_DEV_PRIORITY_NORMAL;
> + if (dev->data->event_dev_cap & RTE_EVENT_DEV_CAP_QUEUE_QOS)
> + *attr_value = dev->data->queues_prio[queue_id];
> + break;
The same switch case comment.
> + };
> + return 0;
> +}
> +
> +int
> rte_event_port_link(uint8_t dev_id, uint8_t port_id,
> const uint8_t queues[], const uint8_t priorities[],
> uint16_t nb_links)
> diff --git a/lib/librte_eventdev/rte_eventdev.h b/lib/librte_eventdev/rte_eventdev.h
> index e931eb2..cd3026d 100644
> --- a/lib/librte_eventdev/rte_eventdev.h
> +++ b/lib/librte_eventdev/rte_eventdev.h
> @@ -606,33 +606,6 @@ int
> rte_event_queue_setup(uint8_t dev_id, uint8_t queue_id,
> const struct rte_event_queue_conf *queue_conf);
>
> -/**
> - * Get the number of event queues on a specific event device
> - *
> - * @param dev_id
> - * Event device identifier.
> - * @return
> - * - The number of configured event queues
> - */
> -uint8_t
> -rte_event_queue_count(uint8_t dev_id);
> -
> -/**
> - * Get the priority of the event queue on a specific event device
> - *
> - * @param dev_id
> - * Event device identifier.
> - * @param queue_id
> - * Event queue identifier.
> - * @return
> - * - If the device has RTE_EVENT_DEV_CAP_QUEUE_QOS capability then the
> - * configured priority of the event queue in
> - * [RTE_EVENT_DEV_PRIORITY_HIGHEST, RTE_EVENT_DEV_PRIORITY_LOWEST] range
> - * else the value RTE_EVENT_DEV_PRIORITY_NORMAL
> - */
> -uint8_t
> -rte_event_queue_priority(uint8_t dev_id, uint8_t queue_id);
> -
> /* Event port specific APIs */
>
> /** Event port configuration structure */
> @@ -765,6 +738,28 @@ rte_event_port_attr_get(uint8_t dev_id, uint8_t port_id, uint32_t attr_id,
> uint32_t *attr_value /*out */);
We can remove explicit /* out */.
>
> /**
> + * The priority of the queue.
> + */
> +#define RTE_EVENT_QUEUE_ATTR_PRIORITY 0
> +
> +/**
> + * Get an attribute from a queue.
> + *
> + * @param dev_id Eventdev id
> + * @param queue_id Eventdev queue id
> + * @param attr_id The attribute ID to retrieve
> + * @param[out] attr_value A pointer that will be filled in with the attribute
> + * value if successful
> + *
> + * @retval 0 Successfully returned value
> + * -EINVAL invalid device, queue or attr_id provided, or attr_value
> + * was NULL
> + */
> +int
> +rte_event_queue_attr_get(uint8_t dev_id, uint8_t queue_id, uint32_t attr_id,
> + uint32_t *attr_value /*out */);
> +
We can remove explicit /* out */.
next prev parent reply other threads:[~2017-09-11 17:36 UTC|newest]
Thread overview: 35+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-07-24 12:48 [PATCH] eventdev: add dev id checks to config functions Harry van Haaren
2017-09-04 5:20 ` Jerin Jacob
2017-09-06 14:45 ` Van Haaren, Harry
2017-09-06 14:57 ` Jerin Jacob
2017-09-08 15:18 ` [PATCH v2 0/3] eventdev: add attribute based get APIs Harry van Haaren
2017-09-08 15:18 ` [PATCH v2 1/4] eventdev: add port attribute function Harry van Haaren
2017-09-08 15:18 ` [PATCH v2 2/4] eventdev: add dev attribute get function Harry van Haaren
2017-09-08 15:18 ` [PATCH v2 3/4] eventdev: add queue attribute function Harry van Haaren
2017-09-08 15:18 ` [PATCH v2 4/4] eventdev: add device started attribute Harry van Haaren
2017-09-08 15:36 ` [PATCH v3 0/4] eventdev: add attribute based get APIs Harry van Haaren
2017-09-08 15:36 ` [PATCH v3 1/4] eventdev: add port attribute function Harry van Haaren
2017-09-11 16:35 ` Jerin Jacob
2017-09-08 15:36 ` [PATCH v3 2/4] eventdev: add dev attribute get function Harry van Haaren
2017-09-11 16:51 ` Jerin Jacob
2017-09-08 15:36 ` [PATCH v3 3/4] eventdev: add queue attribute function Harry van Haaren
2017-09-11 17:36 ` Jerin Jacob [this message]
2017-09-08 15:36 ` [PATCH v3 4/4] eventdev: add device started attribute Harry van Haaren
2017-09-11 17:52 ` Jerin Jacob
2017-09-12 8:07 ` Van Haaren, Harry
2017-09-11 16:16 ` [PATCH v3 0/4] eventdev: add attribute based get APIs Jerin Jacob
2017-09-14 16:08 ` [PATCH v4 " Harry van Haaren
2017-09-14 16:09 ` [PATCH v4 1/4] eventdev: add port attribute function Harry van Haaren
2017-09-14 16:19 ` Van Haaren, Harry
2017-09-14 16:09 ` [PATCH v4 2/4] eventdev: add dev attribute get function Harry van Haaren
2017-09-14 16:09 ` [PATCH v4 3/4] eventdev: add queue attribute function Harry van Haaren
2017-09-14 16:09 ` [PATCH v4 4/4] eventdev: add device started attribute Harry van Haaren
2017-09-15 6:14 ` [PATCH v4 0/4] eventdev: add attribute based get APIs Nipun Gupta
2017-09-21 9:57 ` Jerin Jacob
2017-09-15 12:33 ` Jerin Jacob
2017-09-20 13:35 ` [PATCH v5 0/5] Harry van Haaren
2017-09-20 13:35 ` [PATCH v5 1/5] eventdev: add port attribute function Harry van Haaren
2017-09-20 13:36 ` [PATCH v5 2/5] eventdev: add dev attribute get function Harry van Haaren
2017-09-20 13:36 ` [PATCH v5 3/5] eventdev: add queue attribute function Harry van Haaren
2017-09-20 13:36 ` [PATCH v5 4/5] eventdev: add device started attribute Harry van Haaren
2017-09-20 13:36 ` [PATCH v5 5/5] eventdev: bump library version Harry van Haaren
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=20170911173616.GA26002@jerin \
--to=jerin.jacob@caviumnetworks.com \
--cc=dev@dpdk.org \
--cc=harry.van.haaren@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.