[dpdk-dev] [PATCH] eventdev: add dev id checks to config functions

Jerin Jacob jerin.jacob at caviumnetworks.com
Mon Sep 4 07:20:40 CEST 2017


-----Original Message-----
> Date: Mon, 24 Jul 2017 13:48:20 +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] eventdev: add dev id checks to config functions
> X-Mailer: git-send-email 2.7.4
> 
> This commit adds checks to verify the device ID is valid
> to the following functions. Given that they are non-datapath,
> these checks are always performed.

Makes sense.

> 
> This commit also updates the event/octeontx test-cases to
> have the correct signed-ness, as the API has changes this
> change is required in order to compile.
> 
> Suggested-by: Jesse Bruni <jesse.bruni at intel.com>
> Signed-off-by: Harry van Haaren <harry.van.haaren at intel.com>
> 
> ---
> @@ -1288,9 +1293,10 @@ worker_ordered_flow_producer(void *arg)
>  static inline int
>  test_producer_consumer_ingress_order_test(int (*fn)(void *))
>  {
> -	uint8_t nr_ports;
> +	int16_t nr_ports;
>  
> -	nr_ports = RTE_MIN(rte_event_port_count(evdev), rte_lcore_count() - 1);
> +	nr_ports = RTE_MIN(rte_event_port_count(evdev),
> +			(int)rte_lcore_count() - 1);

While I agree on the problem statement, I am trying to see
1/ an API symmetrical to ethdev APIs. Similar problem solved in a differently in
ethdev. see rte_eth_dev_adjust_nb_rx_tx_desc().
Just want to make sure, all the APIs across ethdev, eventdev looks same

2/ How to get rid of above typecasting

Considering above two points and following the
rte_eth_dev_adjust_nb_rx_tx_desc() pattern. How about,

Removing,
rte_event_port_dequeue_depth()
rte_event_port_enqueue_depth()
rte_event_port_count()

rte_event_queue_count()
rte_event_queue_priority()

and change to,

int rte_event_port_attr_get(uint8_t dev_id, uint8_t port_id,
uint8_t *enqueue_depth /*out */, uint8_t *dequeue_depth /* out*/, uin8_t *count /*out*/);

int rte_event_queue_attr_get(uint8_t dev_id, uint8_t port_id,
uin8_t *prio /* out */, uint8_t *count /*out */);

or something similar.


More information about the dev mailing list