[dpdk-dev] [PATCH v4 10/22] event/dlb: add queue setup
Eads, Gage
gage.eads at intel.com
Thu Oct 8 23:15:29 CEST 2020
> -----Original Message-----
> From: McDaniel, Timothy <timothy.mcdaniel at intel.com>
> Sent: Friday, September 11, 2020 2:18 PM
> Cc: dev at dpdk.org; Carrillo, Erik G <erik.g.carrillo at intel.com>; Eads, Gage
> <gage.eads at intel.com>; Van Haaren, Harry <harry.van.haaren at intel.com>;
> jerinj at marvell.com
> Subject: [PATCH v4 10/22] event/dlb: add queue setup
>
> Load balanced (ldb) queues are setup here.
> Directed queues are not set up until link time, at which
> point we know the directed port ID. Directed queue setup
> will only fail if this queue is already setup or there are
> no directed queues left to configure.
>
> Signed-off-by: Timothy McDaniel <timothy.mcdaniel at intel.com>
> ---
> drivers/event/dlb/dlb.c | 294 +++++++++++++
> drivers/event/dlb/dlb_iface.c | 12 +
> drivers/event/dlb/dlb_iface.h | 12 +
> drivers/event/dlb/pf/base/dlb_resource.c | 710
> ++++++++++++++++++++++++-------
> drivers/event/dlb/pf/dlb_pf.c | 81 ++++
> 5 files changed, 947 insertions(+), 162 deletions(-)
>
> diff --git a/drivers/event/dlb/dlb.c b/drivers/event/dlb/dlb.c
> index fa9213c..0b474a5 100644
> --- a/drivers/event/dlb/dlb.c
> +++ b/drivers/event/dlb/dlb.c
> @@ -662,6 +662,299 @@ dlb_eventdev_queue_default_conf_get(struct
> rte_eventdev *dev,
> queue_conf->priority = 0;
> }
>
> +static int32_t
> +dlb_hw_create_ldb_queue(struct dlb_eventdev *dlb,
> + struct dlb_queue *queue,
> + const struct rte_event_queue_conf *evq_conf)
> +{
> + struct dlb_hw_dev *handle = &dlb->qm_instance;
> + struct dlb_create_ldb_queue_args cfg;
> + struct dlb_cmd_response response;
> + int32_t ret;
> + uint32_t qm_qid;
> + int sched_type = -1;
> +
> + if (evq_conf == NULL)
> + return -EINVAL;
> +
> + if (evq_conf->event_queue_cfg & RTE_EVENT_QUEUE_CFG_ALL_TYPES)
> {
> + if (evq_conf->nb_atomic_order_sequences != 0)
> + sched_type = RTE_SCHED_TYPE_ORDERED;
> + else
> + sched_type = RTE_SCHED_TYPE_PARALLEL;
> + } else {
> + sched_type = evq_conf->schedule_type;
> + }
Nit: single-statement conditional. Besides that:
Reviewed-by: Gage Eads <gage.eads at intel.com>
Thanks,
Gage
More information about the dev
mailing list