> -----Original Message-----
> From: Bruce Richardson <bruce.richard...@intel.com>
> Sent: Tuesday, January 21, 2025 10:42 PM
> To: dev@dpdk.org
> Cc: Pravin Pathak <pravin.pat...@intel.com>; Bruce Richardson
> <bruce.richard...@intel.com>; sta...@dpdk.org
> Subject: [EXTERNAL] [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 
> 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: sta...@dpdk.org


@Pravin Pathak Please review and ack to merge for rc1.

> 
> Signed-off-by: Bruce Richardson <bruce.richard...@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

Reply via email to