[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