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