From 64f5de4194f89390c01ca137185f395ae2a95681 Mon Sep 17 00:00:00 2001 From: Ashish Jain Date: Wed, 9 May 2018 14:50:53 +0530 Subject: [PATCH] event/dpaa2: remove link from info structure Removing use of link data under evq_info_t structure which was used to check whether the the associated evq has been linked or not. Since, an evq can be linked to multiple event ports, thus setting the link variable only allowed the first event port to be associated with the evq. This led to huge performance drop in case of multiple event ports as I/O only worked on first event port associated with the evq. Fixes: 0ce3ce7c275c ("event/dpaa2: add configuration functions") Cc: stable@dpdk.org Signed-off-by: Ashish Jain Acked-by: Hemant Agrawal --- drivers/event/dpaa2/dpaa2_eventdev.c | 5 ----- drivers/event/dpaa2/dpaa2_eventdev.h | 1 - 2 files changed, 6 deletions(-) diff --git a/drivers/event/dpaa2/dpaa2_eventdev.c b/drivers/event/dpaa2/dpaa2_eventdev.c index 08388c7bc0..cd801bfb16 100644 --- a/drivers/event/dpaa2/dpaa2_eventdev.c +++ b/drivers/event/dpaa2/dpaa2_eventdev.c @@ -460,7 +460,6 @@ dpaa2_eventdev_port_unlink(struct rte_eventdev *dev, void *port, dpio_remove_static_dequeue_channel(dpaa2_portal->dpio_dev->dpio, 0, dpaa2_portal->dpio_dev->token, evq_info->dpcon->dpcon_id); - evq_info->link = 0; } return (int)nb_unlinks; @@ -481,8 +480,6 @@ dpaa2_eventdev_port_link(struct rte_eventdev *dev, void *port, for (i = 0; i < nb_links; i++) { evq_info = &priv->evq_info[queues[i]]; - if (evq_info->link) - continue; ret = dpio_add_static_dequeue_channel( dpaa2_portal->dpio_dev->dpio, @@ -497,7 +494,6 @@ dpaa2_eventdev_port_link(struct rte_eventdev *dev, void *port, qbman_swp_push_set(dpaa2_portal->dpio_dev->sw_portal, channel_index, 1); evq_info->dpcon->channel_index = channel_index; - evq_info->link = 1; } RTE_SET_USED(priorities); @@ -511,7 +507,6 @@ err: dpio_remove_static_dequeue_channel(dpaa2_portal->dpio_dev->dpio, 0, dpaa2_portal->dpio_dev->token, evq_info->dpcon->dpcon_id); - evq_info->link = 0; } return ret; } diff --git a/drivers/event/dpaa2/dpaa2_eventdev.h b/drivers/event/dpaa2/dpaa2_eventdev.h index 91c8f2a35b..229f66afb4 100644 --- a/drivers/event/dpaa2/dpaa2_eventdev.h +++ b/drivers/event/dpaa2/dpaa2_eventdev.h @@ -63,7 +63,6 @@ struct evq_info_t { struct dpaa2_dpci_dev *dpci; /* Configuration provided by the user */ uint32_t event_queue_cfg; - uint8_t link; }; struct dpaa2_eventdev { -- 2.20.1