Hi Maxime,

-----Original Message-----
From: Maxime Coquelin <maxime.coque...@redhat.com> 
Sent: Tuesday, January 31, 2023 4:04 AM
To: Vargas, Hernan <hernan.var...@intel.com>; dev@dpdk.org; gak...@marvell.com; 
Rix, Tom <t...@redhat.com>
Cc: Chautru, Nicolas <nicolas.chau...@intel.com>; Zhang, Qi Z 
<qi.z.zh...@intel.com>
Subject: Re: [PATCH v1 04/13] test/bbdev: early termination not explicit set



On 1/17/23 17:50, Hernan Vargas wrote:
> Early termination needs to be explicitly enabled.
> 
> Signed-off-by: Hernan Vargas <hernan.var...@intel.com>
> ---
>   app/test-bbdev/test_bbdev_perf.c | 11 +++++++++--
>   1 file changed, 9 insertions(+), 2 deletions(-)
> 
> diff --git a/app/test-bbdev/test_bbdev_perf.c 
> b/app/test-bbdev/test_bbdev_perf.c
> index 14fe76eb64..12fa988da6 100644
> --- a/app/test-bbdev/test_bbdev_perf.c
> +++ b/app/test-bbdev/test_bbdev_perf.c
> @@ -4463,7 +4463,7 @@ latency_test_dec(struct rte_mempool *mempool,
>               struct test_buffers *bufs, struct rte_bbdev_dec_op *ref_op,
>               int vector_mask, uint16_t dev_id, uint16_t queue_id,
>               const uint16_t num_to_process, uint16_t burst_sz,
> -             uint64_t *total_time, uint64_t *min_time, uint64_t *max_time)
> +             uint64_t *total_time, uint64_t *min_time, uint64_t *max_time, 
> bool disable_et)
>   {
>       int ret = TEST_SUCCESS;
>       uint16_t i, j, dequeued;
> @@ -4481,6 +4481,13 @@ latency_test_dec(struct rte_mempool *mempool,
>               ret = rte_bbdev_dec_op_alloc_bulk(mempool, ops_enq, burst_sz);
>               TEST_ASSERT_SUCCESS(ret,
>                               "rte_bbdev_dec_op_alloc_bulk() failed");
> +             ref_op->turbo_dec.iter_max = get_iter_max();
> +             /* For validation tests we want to enable early termination */
> +             if (!disable_et && !check_bit(ref_op->turbo_dec.op_flags,
> +                             RTE_BBDEV_TURBO_EARLY_TERMINATION))
> +                     ref_op->turbo_dec.op_flags |=
> +                                     RTE_BBDEV_TURBO_EARLY_TERMINATION;
> +
>               if (test_vector.op_type != RTE_BBDEV_OP_NONE)
>                       copy_reference_dec_op(ops_enq, burst_sz, dequeued,
>                                       bufs->inputs,
> @@ -4873,7 +4880,7 @@ validation_latency_test(struct active_device *ad,
>               iter = latency_test_dec(op_params->mp, bufs,
>                               op_params->ref_dec_op, op_params->vector_mask,
>                               ad->dev_id, queue_id, num_to_process,
> -                             burst_sz, &total_time, &min_time, &max_time);
> +                             burst_sz, &total_time, &min_time, &max_time, 
> latency_flag);
>       else if (op_type == RTE_BBDEV_OP_LDPC_ENC)
>               iter = latency_test_ldpc_enc(op_params->mp, bufs,
>                               op_params->ref_enc_op, ad->dev_id, queue_id,

Not clear to me whether it should be a fix. Any thoughts?

Thanks,
Maxime

This is not a fix, it's just an enhancement to enable early termination for 
validation tests if the device supports it.
The validation tests currently run iter_max number of iterations for decoding, 
with this enhancement the decoding could terminate early.

Thanks,
Hernan

Reply via email to