[dpdk-dev] [PATCH v6 01/21] eventdev: improve API docs for start function

Jerin Jacob jerin.jacob at caviumnetworks.com
Thu Mar 30 19:11:33 CEST 2017


On Thu, Mar 30, 2017 at 12:25:43AM +0100, Harry van Haaren wrote:
> This commit documents two error return values for the
> rte_event_dev_start() function.
> 
> -EINVAL  indicates not all ports are configured

-EINVAL returns in case of an invalid dev_id. How about -ESTALE  or
something like that?

> -EDEADLK indicates that not all queues are linked to ports. If an
>          application enqueues to such a queue it can lead to deadlock

IMO, Deadlock is an implementation detail all the PMD may not result in
deadlock. How about -ENOLINK ?

IMO, If you want to enforce this rule then the detection and
check has to be be in common code to avoid all PMD duplicating the same
code.

> 
> Signed-off-by: Harry van Haaren <harry.van.haaren at intel.com>
> ---
>  lib/librte_eventdev/rte_eventdev.h | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/lib/librte_eventdev/rte_eventdev.h b/lib/librte_eventdev/rte_eventdev.h
> index 9971937..dc8dacb 100644
> --- a/lib/librte_eventdev/rte_eventdev.h
> +++ b/lib/librte_eventdev/rte_eventdev.h
> @@ -757,7 +757,8 @@ rte_event_port_count(uint8_t dev_id);
>   *   Event device identifier
>   * @return
>   *   - 0: Success, device started.
> - *   - <0: Error code of the driver device start function.
> + *   - -EINVAL : Not all ports of the device are configured
> + *   - -EDEADLK: Not all queues are linked, which could lead to deadlock.
>   */
>  int
>  rte_event_dev_start(uint8_t dev_id);
> -- 
> 2.7.4
> 


More information about the dev mailing list