[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