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