[PATCH] event/dlb2: fix event weight handling in SSE code path

Pathak, Pravin pravin.pathak at intel.com
Thu Feb 6 15:49:35 CET 2025


Reviewed-by: Pravin Pathak <pravin.pathak at intel.com>

> -----Original Message-----
> From: Richardson, Bruce <bruce.richardson at intel.com>
> Sent: Tuesday, January 21, 2025 12:12 PM
> To: dev at dpdk.org
> Cc: Pathak, Pravin <pravin.pathak at intel.com>; Richardson, Bruce
> <bruce.richardson at intel.com>; stable at dpdk.org
> Subject: [PATCH] event/dlb2: fix event weight handling in SSE code path
> 
> Commit 6e2e98d6775b ("event/dlb2: support independent enqueue")
> updated the avx512 code path with support for the event, or "qe" weights.
> However, the SSE code path looks to have been missed in the update.
> Update the SSE "build_hcws" function to match the changes made to the
> AVX-512 version.
> 
> Bugzilla ID: 1616
> Fixes: 6e2e98d6775b ("event/dlb2: support independent enqueue")
> Cc: stable at dpdk.org
> 
> Signed-off-by: Bruce Richardson <bruce.richardson at intel.com>
> ---
>  drivers/event/dlb2/dlb2_sse.c | 11 ++++++-----
>  1 file changed, 6 insertions(+), 5 deletions(-)
> 
> diff --git a/drivers/event/dlb2/dlb2_sse.c b/drivers/event/dlb2/dlb2_sse.c
> index 248d7519d5..f2e1f9fb7e 100644
> --- a/drivers/event/dlb2/dlb2_sse.c
> +++ b/drivers/event/dlb2/dlb2_sse.c
> @@ -190,11 +190,11 @@ dlb2_event_build_hcws(struct dlb2_port
> *qm_port,
>  		qe[3].data = ev[3].u64;
> 
>  		/* will only be set for DLB 2.5 + */
> -		if (qm_port->cq_weight) {
> -			qe[0].weight = ev[0].impl_opaque & 3;
> -			qe[1].weight = ev[1].impl_opaque & 3;
> -			qe[2].weight = ev[2].impl_opaque & 3;
> -			qe[3].weight = ev[3].impl_opaque & 3;
> +		if (qm_port->dlb2->enable_cq_weight) {
> +			qe[0].weight =
> RTE_PMD_DLB2_GET_QE_WEIGHT(&ev[0]);
> +			qe[1].weight =
> RTE_PMD_DLB2_GET_QE_WEIGHT(&ev[1]);
> +			qe[2].weight =
> RTE_PMD_DLB2_GET_QE_WEIGHT(&ev[2]);
> +			qe[3].weight =
> RTE_PMD_DLB2_GET_QE_WEIGHT(&ev[3]);
>  		}
> 
>  		break;
> @@ -205,6 +205,7 @@ dlb2_event_build_hcws(struct dlb2_port *qm_port,
>  			qe[i].cmd_byte =
>  				cmd_byte_map[qm_port-
> >is_directed][ev[i].op];
>  			qe[i].sched_type = sched_type[i];
> +			qe[i].weight =
> RTE_PMD_DLB2_GET_QE_WEIGHT(&ev[i]);
>  			qe[i].data = ev[i].u64;
>  			qe[i].qid = queue_id[i];
>  			qe[i].priority = EV_TO_DLB2_PRIO(ev[i].priority);
> --
> 2.43.0



More information about the stable mailing list