[PATCH v1 10/13] test/bbdev: adjustment for soft output

Maxime Coquelin maxime.coquelin at redhat.com
Tue Jan 31 13:25:08 CET 2023



On 1/17/23 17:50, Hernan Vargas wrote:
> Extend bbdev-test for soft output check, notably due to the logic in

test-bbdev

> bbdev-test to enable termination changing.
> 
> Signed-off-by: Hernan Vargas <hernan.vargas at intel.com>
> ---
>   app/test-bbdev/test_bbdev_perf.c | 26 +++++++++++++-------------
>   1 file changed, 13 insertions(+), 13 deletions(-)
> 
> diff --git a/app/test-bbdev/test_bbdev_perf.c b/app/test-bbdev/test_bbdev_perf.c
> index 3b2578baf6..1d18d9e054 100644
> --- a/app/test-bbdev/test_bbdev_perf.c
> +++ b/app/test-bbdev/test_bbdev_perf.c
> @@ -1348,6 +1348,7 @@ fill_queue_buffers(struct test_op_params *op_params,
>   				RTE_BBDEV_LDPC_LLR_COMPRESSION;
>   		bool harq_comp = op_params->ref_dec_op->ldpc_dec.op_flags &
>   				RTE_BBDEV_LDPC_HARQ_6BIT_COMPRESSION;
> +
>   		ldpc_llr_decimals = capabilities->cap.ldpc_dec.llr_decimals;
>   		ldpc_llr_size = capabilities->cap.ldpc_dec.llr_size;
>   		ldpc_cap_flags = capabilities->cap.ldpc_dec.capability_flags;
> @@ -2425,7 +2426,7 @@ validate_ldpc_dec_op(struct rte_bbdev_dec_op **ops, const uint16_t n,
>   					i);
>   
>   		if (ref_op->ldpc_dec.op_flags & RTE_BBDEV_LDPC_SOFT_OUT_ENABLE)
> -			TEST_ASSERT_SUCCESS(validate_op_chain(soft_output,
> +			TEST_ASSERT_SUCCESS(validate_op_so_chain(soft_output,
>   					soft_data_orig),
>   					"Soft output buffers (CB=%u) are not equal",
>   					i);
> @@ -2495,7 +2496,6 @@ validate_ldpc_enc_op(struct rte_bbdev_enc_op **ops, const uint16_t n,
>   	return TEST_SUCCESS;
>   }
>   
> -
>   static inline int
>   validate_op_fft_chain(struct rte_bbdev_op_data *op, struct op_data_entries *orig_op)
>   {
> @@ -3185,11 +3185,11 @@ throughput_intr_lcore_ldpc_dec(void *arg)
>   	for (j = 0; j < TEST_REPETITIONS; ++j) {
>   		for (i = 0; i < num_to_process; ++i) {
>   			if (!loopback)
> -				rte_pktmbuf_reset(
> -					ops[i]->ldpc_dec.hard_output.data);
> +				rte_pktmbuf_reset(ops[i]->ldpc_dec.hard_output.data);

This is not introduced by this patch, but I wonder why not using
mbuf_reset() or rte_pktmbuf_reset() everywhere?

Looking at the changes below, it seems mbuf_reset() is used for the
!loopback case.

>   			if (hc_out || loopback)
> -				mbuf_reset(
> -				ops[i]->ldpc_dec.harq_combined_output.data);
> +				mbuf_reset(ops[i]->ldpc_dec.harq_combined_output.data);
> +			if (ops[i]->ldpc_dec.soft_output.data != NULL)
> +				rte_pktmbuf_reset(ops[i]->ldpc_dec.soft_output.data);
>   		}
>   
>   		tp->start_time = rte_rdtsc_precise();
> @@ -3284,7 +3284,6 @@ throughput_intr_lcore_dec(void *arg)
>   				rte_pktmbuf_reset(ops[i]->turbo_dec.soft_output.data);
>   		}
>   
> -
>   		tp->start_time = rte_rdtsc_precise();
>   		for (enqueued = 0; enqueued < num_to_process;) {
>   			num_to_enq = burst_sz;
> @@ -3746,10 +3745,11 @@ bler_pmd_lcore_ldpc_dec(void *arg)
>   	for (i = 0; i < 1; ++i) { /* Could add more iterations */
>   		for (j = 0; j < num_ops; ++j) {
>   			if (!loopback)
> -				mbuf_reset(
> -				ops_enq[j]->ldpc_dec.hard_output.data);
> +				mbuf_reset(ops_enq[j]->ldpc_dec.hard_output.data);
>   			if (hc_out || loopback)
>   				mbuf_reset(ops_enq[j]->ldpc_dec.harq_combined_output.data);
> +			if (ops_enq[j]->ldpc_dec.soft_output.data != NULL)
> +				mbuf_reset(ops_enq[j]->ldpc_dec.soft_output.data);
>   		}
>   		if (extDdr)
>   			preload_harq_ddr(tp->dev_id, queue_id, ops_enq,
> @@ -3981,11 +3981,11 @@ throughput_pmd_lcore_ldpc_dec(void *arg)
>   	for (i = 0; i < TEST_REPETITIONS; ++i) {
>   		for (j = 0; j < num_ops; ++j) {
>   			if (!loopback)
> -				mbuf_reset(
> -				ops_enq[j]->ldpc_dec.hard_output.data);
> +				mbuf_reset(ops_enq[j]->ldpc_dec.hard_output.data);
>   			if (hc_out || loopback)
> -				mbuf_reset(
> -				ops_enq[j]->ldpc_dec.harq_combined_output.data);
> +				mbuf_reset(ops_enq[j]->ldpc_dec.harq_combined_output.data);
> +			if (ops_enq[j]->ldpc_dec.soft_output.data != NULL)
> +				mbuf_reset(ops_enq[j]->ldpc_dec.soft_output.data);
>   		}
>   		if (extDdr)
>   			preload_harq_ddr(tp->dev_id, queue_id, ops_enq,



More information about the dev mailing list