> -----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