[dpdk-dev] [PATCH v3 1/4] eventdev: add port attribute function

Jerin Jacob jerin.jacob at caviumnetworks.com
Mon Sep 11 18:35:18 CEST 2017


-----Original Message-----
> Date: Fri, 8 Sep 2017 16:36:52 +0100
> From: Harry van Haaren <harry.van.haaren at intel.com>
> To: dev at dpdk.org
> CC: jerin.jacob at caviumnetworks.com, Harry van Haaren
>  <harry.van.haaren at intel.com>
> Subject: [PATCH v3 1/4] eventdev: add port attribute function
> X-Mailer: git-send-email 2.7.4
> 
> This commit reworks the port functions to retrieve information
> about the port, like the enq or deq depths. Note that "port count"
> is a device attribute, and is added in a later patch for dev attributes.
> 
> Signed-off-by: Harry van Haaren <harry.van.haaren at intel.com>
> ---
>  lib/librte_eventdev/rte_eventdev.c           | 33 +++++++++++--------
>  lib/librte_eventdev/rte_eventdev.h           | 49 ++++++++++++----------------
>  lib/librte_eventdev/rte_eventdev_version.map |  7 ++++
>  test/test/test_eventdev.c                    | 16 ++++++---
>  4 files changed, 59 insertions(+), 46 deletions(-)
> 
> -
> -uint8_t
> -rte_event_port_count(uint8_t dev_id)
> -{
> -	struct rte_eventdev *dev;
> +	if (!is_valid_port(dev, port_id)) {
> +		RTE_EDEV_LOG_ERR("Invalid port_id=%" PRIu8, port_id);
> +		return -EINVAL;
> +	}
>  
> -	dev = &rte_eventdevs[dev_id];
> -	return dev->data->nb_ports;
> +	switch (attr_id) {
> +	case RTE_EVENT_PORT_ATTR_ENQ_DEPTH:
> +		*attr_value = dev->data->ports_enqueue_depth[port_id];
> +		break;
> +	case RTE_EVENT_PORT_ATTR_DEQ_DEPTH:
> +		*attr_value = dev->data->ports_dequeue_depth[port_id];
> +		break;

IMO, We should have "default:" case here to detect invalid attr_id here
and return the error code accordingly in the header file as well.


> +	};
> +	return 0;
>  }
>  /**
>   * Start an event device.
> diff --git a/lib/librte_eventdev/rte_eventdev_version.map b/lib/librte_eventdev/rte_eventdev_version.map
> index 4c48e5f..a0adde3 100644
> --- a/lib/librte_eventdev/rte_eventdev_version.map
> +++ b/lib/librte_eventdev/rte_eventdev_version.map
> @@ -51,3 +51,10 @@ DPDK_17.08 {
>  	rte_event_ring_init;
>  	rte_event_ring_lookup;

We should delete the remove functions from here.
like rte_event_port_dequeue_depth() and rte_event_port_enqueue_depth;

>  } DPDK_17.05;
> +
> +EXPERIMENTAL {

Note sure we need to add EXPERIMENTAL here.(i.e other section don't have this)

> +	global:
> +
> +	rte_event_port_attr_get;
> +
> +} DPDK_17.08;


More information about the dev mailing list