DPDK patches and discussions
 help / color / mirror / Atom feed
* [dpdk-dev] [PATCH v3 0/7] BBDEV test updates
@ 2020-08-19  0:05 Nicolas Chautru
  2020-08-19  0:05 ` [dpdk-dev] [PATCH v3 1/7] app/bbdev: add explicit ut for latency vs validation Nicolas Chautru
                   ` (7 more replies)
  0 siblings, 8 replies; 20+ messages in thread
From: Nicolas Chautru @ 2020-08-19  0:05 UTC (permalink / raw)
  To: dev, akhil.goyal; +Cc: bruce.richardson, Nicolas Chautru

v3: apologize again for typo and not double checking with check-git-log
v2: typos missed in commit messages
Serie updating and extending the app running the bbdev-test for the existing bbdev PMDs.


Nicolas Chautru (7):
  app/bbdev: add explicit ut for latency vs validation
  app/bbdev: add explicit check for counters
  app/bbdev: include explicit HARQ preloading
  app/bbdev: define wait for offload
  app/bbdev: skip bler ut when compression is used
  app/bbdev: reduce duration of throughput test
  app/bbdev: update offload test to dequeue full ring

 app/test-bbdev/main.h            |   1 +
 app/test-bbdev/test_bbdev_perf.c | 193 ++++++++++++++++++++++++++++++---------
 2 files changed, 152 insertions(+), 42 deletions(-)

-- 
1.8.3.1


^ permalink raw reply	[flat|nested] 20+ messages in thread

* [dpdk-dev] [PATCH v3 1/7] app/bbdev: add explicit ut for latency vs validation
  2020-08-19  0:05 [dpdk-dev] [PATCH v3 0/7] BBDEV test updates Nicolas Chautru
@ 2020-08-19  0:05 ` Nicolas Chautru
  2020-09-15  9:49   ` Aidan Goddard
  2020-09-15 10:01   ` Dave Burley
  2020-08-19  0:05 ` [dpdk-dev] [PATCH v3 2/7] app/bbdev: add explicit check for counters Nicolas Chautru
                   ` (6 subsequent siblings)
  7 siblings, 2 replies; 20+ messages in thread
From: Nicolas Chautru @ 2020-08-19  0:05 UTC (permalink / raw)
  To: dev, akhil.goyal; +Cc: bruce.richardson, Nicolas Chautru

Adding explicit different ut when testing for validation
or latency (early termination enabled or not).

Signed-off-by: Nicolas Chautru <nicolas.chautru@intel.com>
---
 app/test-bbdev/test_bbdev_perf.c | 92 ++++++++++++++++++++++++++++++++++++++--
 1 file changed, 88 insertions(+), 4 deletions(-)

diff --git a/app/test-bbdev/test_bbdev_perf.c b/app/test-bbdev/test_bbdev_perf.c
index 45c0d62..1319afd 100644
--- a/app/test-bbdev/test_bbdev_perf.c
+++ b/app/test-bbdev/test_bbdev_perf.c
@@ -3928,12 +3928,14 @@ typedef int (test_case_function)(struct active_device *ad,
 	return i;
 }
 
+/* Test case for latency/validation for LDPC Decoder */
 static int
 latency_test_ldpc_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;
@@ -3955,7 +3957,7 @@ typedef int (test_case_function)(struct active_device *ad,
 				"rte_bbdev_dec_op_alloc_bulk() failed");
 
 		/* For latency tests we need to disable early termination */
-		if (check_bit(ref_op->ldpc_dec.op_flags,
+		if (disable_et && check_bit(ref_op->ldpc_dec.op_flags,
 				RTE_BBDEV_LDPC_ITERATION_STOP_ENABLE))
 			ref_op->ldpc_dec.op_flags -=
 					RTE_BBDEV_LDPC_ITERATION_STOP_ENABLE;
@@ -4177,7 +4179,7 @@ typedef int (test_case_function)(struct active_device *ad,
 	TEST_ASSERT_NOT_NULL(op_type_str, "Invalid op type: %u", op_type);
 
 	printf("+ ------------------------------------------------------- +\n");
-	printf("== test: validation/latency\ndev: %s, burst size: %u, num ops: %u, op type: %s\n",
+	printf("== test: latency\ndev: %s, burst size: %u, num ops: %u, op type: %s\n",
 			info.dev_name, burst_sz, num_to_process, op_type_str);
 
 	if (op_type == RTE_BBDEV_OP_TURBO_DEC)
@@ -4199,7 +4201,83 @@ typedef int (test_case_function)(struct active_device *ad,
 		iter = latency_test_ldpc_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,
+				true);
+	else
+		iter = latency_test_enc(op_params->mp, bufs,
+					op_params->ref_enc_op,
+					ad->dev_id, queue_id,
+					num_to_process, burst_sz, &total_time,
+					&min_time, &max_time);
+
+	if (iter <= 0)
+		return TEST_FAILED;
+
+	printf("Operation latency:\n"
+			"\tavg: %lg cycles, %lg us\n"
+			"\tmin: %lg cycles, %lg us\n"
+			"\tmax: %lg cycles, %lg us\n",
+			(double)total_time / (double)iter,
+			(double)(total_time * 1000000) / (double)iter /
+			(double)rte_get_tsc_hz(), (double)min_time,
+			(double)(min_time * 1000000) / (double)rte_get_tsc_hz(),
+			(double)max_time, (double)(max_time * 1000000) /
+			(double)rte_get_tsc_hz());
+
+	return TEST_SUCCESS;
+}
+
+static int
+validation_test(struct active_device *ad,
+		struct test_op_params *op_params)
+{
+	int iter;
+	uint16_t burst_sz = op_params->burst_sz;
+	const uint16_t num_to_process = op_params->num_to_process;
+	const enum rte_bbdev_op_type op_type = test_vector.op_type;
+	const uint16_t queue_id = ad->queue_ids[0];
+	struct test_buffers *bufs = NULL;
+	struct rte_bbdev_info info;
+	uint64_t total_time, min_time, max_time;
+	const char *op_type_str;
+
+	total_time = max_time = 0;
+	min_time = UINT64_MAX;
+
+	TEST_ASSERT_SUCCESS((burst_sz > MAX_BURST),
+			"BURST_SIZE should be <= %u", MAX_BURST);
+
+	rte_bbdev_info_get(ad->dev_id, &info);
+	bufs = &op_params->q_bufs[GET_SOCKET(info.socket_id)][queue_id];
+
+	op_type_str = rte_bbdev_op_type_str(op_type);
+	TEST_ASSERT_NOT_NULL(op_type_str, "Invalid op type: %u", op_type);
+
+	printf("+ ------------------------------------------------------- +\n");
+	printf("== test: validation\ndev: %s, burst size: %u, num ops: %u, op type: %s\n",
+			info.dev_name, burst_sz, num_to_process, op_type_str);
+
+	if (op_type == RTE_BBDEV_OP_TURBO_DEC)
+		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);
+	else if (op_type == RTE_BBDEV_OP_TURBO_ENC)
+		iter = latency_test_enc(op_params->mp, bufs,
+				op_params->ref_enc_op, ad->dev_id, queue_id,
+				num_to_process, burst_sz, &total_time,
+				&min_time, &max_time);
+	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,
+				num_to_process, burst_sz, &total_time,
+				&min_time, &max_time);
+	else if (op_type == RTE_BBDEV_OP_LDPC_DEC)
+		iter = latency_test_ldpc_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,
+				false);
 	else
 		iter = latency_test_enc(op_params->mp, bufs,
 					op_params->ref_enc_op,
@@ -4859,6 +4937,12 @@ typedef int (test_case_function)(struct active_device *ad,
 }
 
 static int
+validation_tc(void)
+{
+	return run_test_case(validation_test);
+}
+
+static int
 interrupt_tc(void)
 {
 	return run_test_case(throughput_test);
@@ -4889,7 +4973,7 @@ typedef int (test_case_function)(struct active_device *ad,
 	.setup = testsuite_setup,
 	.teardown = testsuite_teardown,
 	.unit_test_cases = {
-		TEST_CASE_ST(ut_setup, ut_teardown, latency_tc),
+		TEST_CASE_ST(ut_setup, ut_teardown, validation_tc),
 		TEST_CASES_END() /**< NULL terminate unit test array */
 	}
 };
-- 
1.8.3.1


^ permalink raw reply	[flat|nested] 20+ messages in thread

* [dpdk-dev] [PATCH v3 2/7] app/bbdev: add explicit check for counters
  2020-08-19  0:05 [dpdk-dev] [PATCH v3 0/7] BBDEV test updates Nicolas Chautru
  2020-08-19  0:05 ` [dpdk-dev] [PATCH v3 1/7] app/bbdev: add explicit ut for latency vs validation Nicolas Chautru
@ 2020-08-19  0:05 ` Nicolas Chautru
  2020-09-15  9:53   ` Aidan Goddard
  2020-09-15 10:02   ` Dave Burley
  2020-08-19  0:05 ` [dpdk-dev] [PATCH v3 3/7] app/bbdev: include explicit HARQ preloading Nicolas Chautru
                   ` (5 subsequent siblings)
  7 siblings, 2 replies; 20+ messages in thread
From: Nicolas Chautru @ 2020-08-19  0:05 UTC (permalink / raw)
  To: dev, akhil.goyal; +Cc: bruce.richardson, Nicolas Chautru

Adding explicit check in ut that the stats counters
have the expected values. Was missing for coverage.

Signed-off-by: Nicolas Chautru <nicolas.chautru@intel.com>
---
 app/test-bbdev/test_bbdev_perf.c | 17 +++++++++++++++++
 1 file changed, 17 insertions(+)

diff --git a/app/test-bbdev/test_bbdev_perf.c b/app/test-bbdev/test_bbdev_perf.c
index 1319afd..b0b6f18 100644
--- a/app/test-bbdev/test_bbdev_perf.c
+++ b/app/test-bbdev/test_bbdev_perf.c
@@ -4769,6 +4769,23 @@ typedef int (test_case_function)(struct active_device *ad,
 			(double)(time_st.deq_max_time * 1000000) /
 			rte_get_tsc_hz());
 
+	struct rte_bbdev_stats stats = {0};
+	get_bbdev_queue_stats(ad->dev_id, queue_id, &stats);
+	if (op_type != RTE_BBDEV_OP_LDPC_DEC) {
+		TEST_ASSERT_SUCCESS(stats.enqueued_count != num_to_process,
+				"Mismatch in enqueue count %10"PRIu64" %d",
+				stats.enqueued_count, num_to_process);
+		TEST_ASSERT_SUCCESS(stats.dequeued_count != num_to_process,
+				"Mismatch in dequeue count %10"PRIu64" %d",
+				stats.dequeued_count, num_to_process);
+	}
+	TEST_ASSERT_SUCCESS(stats.enqueue_err_count != 0,
+			"Enqueue count Error %10"PRIu64"",
+			stats.enqueue_err_count);
+	TEST_ASSERT_SUCCESS(stats.dequeue_err_count != 0,
+			"Dequeue count Error (%10"PRIu64"",
+			stats.dequeue_err_count);
+
 	return TEST_SUCCESS;
 #endif
 }
-- 
1.8.3.1


^ permalink raw reply	[flat|nested] 20+ messages in thread

* [dpdk-dev] [PATCH v3 3/7] app/bbdev: include explicit HARQ preloading
  2020-08-19  0:05 [dpdk-dev] [PATCH v3 0/7] BBDEV test updates Nicolas Chautru
  2020-08-19  0:05 ` [dpdk-dev] [PATCH v3 1/7] app/bbdev: add explicit ut for latency vs validation Nicolas Chautru
  2020-08-19  0:05 ` [dpdk-dev] [PATCH v3 2/7] app/bbdev: add explicit check for counters Nicolas Chautru
@ 2020-08-19  0:05 ` Nicolas Chautru
  2020-08-19  0:05 ` [dpdk-dev] [PATCH v3 4/7] app/bbdev: define wait for offload Nicolas Chautru
                   ` (4 subsequent siblings)
  7 siblings, 0 replies; 20+ messages in thread
From: Nicolas Chautru @ 2020-08-19  0:05 UTC (permalink / raw)
  To: dev, akhil.goyal; +Cc: bruce.richardson, Nicolas Chautru

Run preloading explicitly for unit tests for each code block
by reusing existing input op then restore for the actual test
post preloading.

Signed-off-by: Nicolas Chautru <nicolas.chautru@intel.com>
---
 app/test-bbdev/main.h            |  1 +
 app/test-bbdev/test_bbdev_perf.c | 51 +++++++++++++++++++++-------------------
 2 files changed, 28 insertions(+), 24 deletions(-)

diff --git a/app/test-bbdev/main.h b/app/test-bbdev/main.h
index fb3dec8..dc10a50 100644
--- a/app/test-bbdev/main.h
+++ b/app/test-bbdev/main.h
@@ -17,6 +17,7 @@
 #define TEST_SKIPPED    1
 
 #define MAX_BURST 512U
+#define MAX_OPS 1024U
 #define DEFAULT_BURST 32U
 #define DEFAULT_OPS 64U
 #define DEFAULT_ITER 6U
diff --git a/app/test-bbdev/test_bbdev_perf.c b/app/test-bbdev/test_bbdev_perf.c
index b0b6f18..d0d2a55 100644
--- a/app/test-bbdev/test_bbdev_perf.c
+++ b/app/test-bbdev/test_bbdev_perf.c
@@ -2442,20 +2442,20 @@ typedef int (test_case_function)(struct active_device *ad,
 		bool preload)
 {
 	uint16_t j;
-	int ret;
-	uint32_t harq_offset = (uint32_t) queue_id * HARQ_INCR * 1024;
-	struct rte_bbdev_op_data save_hc_in, save_hc_out;
-	struct rte_bbdev_dec_op *ops_deq[MAX_BURST];
+	int deq;
+	uint32_t harq_offset = (uint32_t) queue_id * HARQ_INCR * MAX_OPS;
+	struct rte_bbdev_op_data save_hc_in[MAX_OPS], save_hc_out[MAX_OPS];
+	struct rte_bbdev_dec_op *ops_deq[MAX_OPS];
 	uint32_t flags = ops[0]->ldpc_dec.op_flags;
 	bool mem_in = flags & RTE_BBDEV_LDPC_INTERNAL_HARQ_MEMORY_IN_ENABLE;
 	bool hc_in = flags & RTE_BBDEV_LDPC_HQ_COMBINE_IN_ENABLE;
 	bool mem_out = flags & RTE_BBDEV_LDPC_INTERNAL_HARQ_MEMORY_OUT_ENABLE;
 	bool hc_out = flags & RTE_BBDEV_LDPC_HQ_COMBINE_OUT_ENABLE;
 	bool h_comp = flags & RTE_BBDEV_LDPC_HARQ_6BIT_COMPRESSION;
-	for (j = 0; j < n; ++j) {
-		if ((mem_in || hc_in) && preload) {
-			save_hc_in = ops[j]->ldpc_dec.harq_combined_input;
-			save_hc_out = ops[j]->ldpc_dec.harq_combined_output;
+	if ((mem_in || hc_in) && preload) {
+		for (j = 0; j < n; ++j) {
+			save_hc_in[j] = ops[j]->ldpc_dec.harq_combined_input;
+			save_hc_out[j] = ops[j]->ldpc_dec.harq_combined_output;
 			ops[j]->ldpc_dec.op_flags =
 				RTE_BBDEV_LDPC_INTERNAL_HARQ_MEMORY_LOOPBACK +
 				RTE_BBDEV_LDPC_INTERNAL_HARQ_MEMORY_OUT_ENABLE;
@@ -2465,16 +2465,23 @@ typedef int (test_case_function)(struct active_device *ad,
 			ops[j]->ldpc_dec.harq_combined_output.offset =
 					harq_offset;
 			ops[j]->ldpc_dec.harq_combined_input.offset = 0;
-			rte_bbdev_enqueue_ldpc_dec_ops(dev_id, queue_id,
-					&ops[j], 1);
-			ret = 0;
-			while (ret == 0)
-				ret = rte_bbdev_dequeue_ldpc_dec_ops(
-					dev_id, queue_id, &ops_deq[j], 1);
+			harq_offset += HARQ_INCR;
+		}
+		rte_bbdev_enqueue_ldpc_dec_ops(dev_id, queue_id, &ops[0], n);
+		deq = 0;
+		while (deq != n)
+			deq += rte_bbdev_dequeue_ldpc_dec_ops(
+					dev_id, queue_id, &ops_deq[deq],
+					n - deq);
+		/* Restore the operations */
+		for (j = 0; j < n; ++j) {
 			ops[j]->ldpc_dec.op_flags = flags;
-			ops[j]->ldpc_dec.harq_combined_input = save_hc_in;
-			ops[j]->ldpc_dec.harq_combined_output = save_hc_out;
+			ops[j]->ldpc_dec.harq_combined_input = save_hc_in[j];
+			ops[j]->ldpc_dec.harq_combined_output = save_hc_out[j];
 		}
+	}
+	harq_offset = (uint32_t) queue_id * HARQ_INCR * MAX_OPS;
+	for (j = 0; j < n; ++j) {
 		/* Adjust HARQ offset when we reach external DDR */
 		if (mem_in || hc_in)
 			ops[j]->ldpc_dec.harq_combined_input.offset
@@ -3160,11 +3167,9 @@ typedef int (test_case_function)(struct active_device *ad,
 				mbuf_reset(
 				ops_enq[j]->ldpc_dec.harq_combined_output.data);
 		}
-		if (extDdr) {
-			bool preload = i == (TEST_REPETITIONS - 1);
+		if (extDdr)
 			preload_harq_ddr(tp->dev_id, queue_id, ops_enq,
-					num_ops, preload);
-		}
+					num_ops, true);
 		start_time = rte_rdtsc_precise();
 
 		for (enq = 0, deq = 0; enq < num_ops;) {
@@ -3291,11 +3296,9 @@ typedef int (test_case_function)(struct active_device *ad,
 				mbuf_reset(
 				ops_enq[j]->ldpc_dec.harq_combined_output.data);
 		}
-		if (extDdr) {
-			bool preload = i == (TEST_REPETITIONS - 1);
+		if (extDdr)
 			preload_harq_ddr(tp->dev_id, queue_id, ops_enq,
-					num_ops, preload);
-		}
+					num_ops, true);
 		start_time = rte_rdtsc_precise();
 
 		for (enq = 0, deq = 0; enq < num_ops;) {
-- 
1.8.3.1


^ permalink raw reply	[flat|nested] 20+ messages in thread

* [dpdk-dev] [PATCH v3 4/7] app/bbdev: define wait for offload
  2020-08-19  0:05 [dpdk-dev] [PATCH v3 0/7] BBDEV test updates Nicolas Chautru
                   ` (2 preceding siblings ...)
  2020-08-19  0:05 ` [dpdk-dev] [PATCH v3 3/7] app/bbdev: include explicit HARQ preloading Nicolas Chautru
@ 2020-08-19  0:05 ` Nicolas Chautru
  2020-08-19  0:05 ` [dpdk-dev] [PATCH v3 5/7] app/bbdev: skip bler ut when compression is used Nicolas Chautru
                   ` (3 subsequent siblings)
  7 siblings, 0 replies; 20+ messages in thread
From: Nicolas Chautru @ 2020-08-19  0:05 UTC (permalink / raw)
  To: dev, akhil.goyal; +Cc: bruce.richardson, Nicolas Chautru

Replacing magic number for default wait time for hw
offload.

Signed-off-by: Nicolas Chautru <nicolas.chautru@intel.com>
---
 app/test-bbdev/test_bbdev_perf.c | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/app/test-bbdev/test_bbdev_perf.c b/app/test-bbdev/test_bbdev_perf.c
index d0d2a55..e2c1d64 100644
--- a/app/test-bbdev/test_bbdev_perf.c
+++ b/app/test-bbdev/test_bbdev_perf.c
@@ -25,6 +25,7 @@
 
 #define MAX_QUEUES RTE_MAX_LCORE
 #define TEST_REPETITIONS 1000
+#define WAIT_OFFLOAD_US 1000
 
 #ifdef RTE_LIBRTE_PMD_BBDEV_FPGA_LTE_FEC
 #include <fpga_lte_fec.h>
@@ -4380,7 +4381,7 @@ typedef int (test_case_function)(struct active_device *ad,
 		time_st->enq_acc_total_time += stats.acc_offload_cycles;
 
 		/* give time for device to process ops */
-		rte_delay_us(200);
+		rte_delay_us(WAIT_OFFLOAD_US);
 
 		/* Start time meas for dequeue function offload latency */
 		deq_start_time = rte_rdtsc_precise();
@@ -4471,7 +4472,7 @@ typedef int (test_case_function)(struct active_device *ad,
 		time_st->enq_acc_total_time += stats.acc_offload_cycles;
 
 		/* give time for device to process ops */
-		rte_delay_us(200);
+		rte_delay_us(WAIT_OFFLOAD_US);
 
 		/* Start time meas for dequeue function offload latency */
 		deq_start_time = rte_rdtsc_precise();
@@ -4559,7 +4560,7 @@ typedef int (test_case_function)(struct active_device *ad,
 		time_st->enq_acc_total_time += stats.acc_offload_cycles;
 
 		/* give time for device to process ops */
-		rte_delay_us(200);
+		rte_delay_us(WAIT_OFFLOAD_US);
 
 		/* Start time meas for dequeue function offload latency */
 		deq_start_time = rte_rdtsc_precise();
@@ -4642,7 +4643,7 @@ typedef int (test_case_function)(struct active_device *ad,
 		time_st->enq_acc_total_time += stats.acc_offload_cycles;
 
 		/* give time for device to process ops */
-		rte_delay_us(200);
+		rte_delay_us(WAIT_OFFLOAD_US);
 
 		/* Start time meas for dequeue function offload latency */
 		deq_start_time = rte_rdtsc_precise();
-- 
1.8.3.1


^ permalink raw reply	[flat|nested] 20+ messages in thread

* [dpdk-dev] [PATCH v3 5/7] app/bbdev: skip bler ut when compression is used
  2020-08-19  0:05 [dpdk-dev] [PATCH v3 0/7] BBDEV test updates Nicolas Chautru
                   ` (3 preceding siblings ...)
  2020-08-19  0:05 ` [dpdk-dev] [PATCH v3 4/7] app/bbdev: define wait for offload Nicolas Chautru
@ 2020-08-19  0:05 ` Nicolas Chautru
  2020-09-15  9:55   ` Aidan Goddard
  2020-09-15 10:03   ` Dave Burley
  2020-08-19  0:05 ` [dpdk-dev] [PATCH v3 6/7] app/bbdev: reduce duration of throughput test Nicolas Chautru
                   ` (2 subsequent siblings)
  7 siblings, 2 replies; 20+ messages in thread
From: Nicolas Chautru @ 2020-08-19  0:05 UTC (permalink / raw)
  To: dev, akhil.goyal; +Cc: bruce.richardson, Nicolas Chautru

bler test results are not valid when LLR compression
is used or for loopback scenarios. Skipping these.

Signed-off-by: Nicolas Chautru <nicolas.chautru@intel.com>
---
 app/test-bbdev/test_bbdev_perf.c | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/app/test-bbdev/test_bbdev_perf.c b/app/test-bbdev/test_bbdev_perf.c
index e2c1d64..a6cd94b 100644
--- a/app/test-bbdev/test_bbdev_perf.c
+++ b/app/test-bbdev/test_bbdev_perf.c
@@ -3648,7 +3648,11 @@ typedef int (test_case_function)(struct active_device *ad,
 			RTE_ALIGN(sizeof(struct thread_params) * num_lcores,
 				RTE_CACHE_LINE_SIZE));
 
-	if (test_vector.op_type == RTE_BBDEV_OP_LDPC_DEC)
+	if ((test_vector.op_type == RTE_BBDEV_OP_LDPC_DEC) &&
+			!check_bit(test_vector.ldpc_dec.op_flags,
+			RTE_BBDEV_LDPC_INTERNAL_HARQ_MEMORY_LOOPBACK)
+			&& !check_bit(test_vector.ldpc_dec.op_flags,
+			RTE_BBDEV_LDPC_LLR_COMPRESSION))
 		bler_function = bler_pmd_lcore_ldpc_dec;
 	else
 		return TEST_SKIPPED;
-- 
1.8.3.1


^ permalink raw reply	[flat|nested] 20+ messages in thread

* [dpdk-dev] [PATCH v3 6/7] app/bbdev: reduce duration of throughput test
  2020-08-19  0:05 [dpdk-dev] [PATCH v3 0/7] BBDEV test updates Nicolas Chautru
                   ` (4 preceding siblings ...)
  2020-08-19  0:05 ` [dpdk-dev] [PATCH v3 5/7] app/bbdev: skip bler ut when compression is used Nicolas Chautru
@ 2020-08-19  0:05 ` Nicolas Chautru
  2020-08-19  0:05 ` [dpdk-dev] [PATCH v3 7/7] app/bbdev: update offload test to dequeue full ring Nicolas Chautru
  2020-10-07  0:13 ` [dpdk-dev] [PATCH v3 0/7] BBDEV test updates Chautru, Nicolas
  7 siblings, 0 replies; 20+ messages in thread
From: Nicolas Chautru @ 2020-08-19  0:05 UTC (permalink / raw)
  To: dev, akhil.goyal; +Cc: bruce.richardson, Nicolas Chautru

Reducing number of repetitions from 1000 to 100
to save time. Results are accurate enough with
100 loops.

Signed-off-by: Nicolas Chautru <nicolas.chautru@intel.com>
---
 app/test-bbdev/test_bbdev_perf.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/app/test-bbdev/test_bbdev_perf.c b/app/test-bbdev/test_bbdev_perf.c
index a6cd94b..c5156a2 100644
--- a/app/test-bbdev/test_bbdev_perf.c
+++ b/app/test-bbdev/test_bbdev_perf.c
@@ -24,7 +24,7 @@
 #define GET_SOCKET(socket_id) (((socket_id) == SOCKET_ID_ANY) ? 0 : (socket_id))
 
 #define MAX_QUEUES RTE_MAX_LCORE
-#define TEST_REPETITIONS 1000
+#define TEST_REPETITIONS 100
 #define WAIT_OFFLOAD_US 1000
 
 #ifdef RTE_LIBRTE_PMD_BBDEV_FPGA_LTE_FEC
-- 
1.8.3.1


^ permalink raw reply	[flat|nested] 20+ messages in thread

* [dpdk-dev] [PATCH v3 7/7] app/bbdev: update offload test to dequeue full ring
  2020-08-19  0:05 [dpdk-dev] [PATCH v3 0/7] BBDEV test updates Nicolas Chautru
                   ` (5 preceding siblings ...)
  2020-08-19  0:05 ` [dpdk-dev] [PATCH v3 6/7] app/bbdev: reduce duration of throughput test Nicolas Chautru
@ 2020-08-19  0:05 ` Nicolas Chautru
  2020-09-15  9:55   ` Aidan Goddard
  2020-09-15 10:05   ` Dave Burley
  2020-10-07  0:13 ` [dpdk-dev] [PATCH v3 0/7] BBDEV test updates Chautru, Nicolas
  7 siblings, 2 replies; 20+ messages in thread
From: Nicolas Chautru @ 2020-08-19  0:05 UTC (permalink / raw)
  To: dev, akhil.goyal; +Cc: bruce.richardson, Nicolas Chautru

update offload dequeue to retrieve the full ring to be
agnostic of implementation.

Signed-off-by: Nicolas Chautru <nicolas.chautru@intel.com>
---
 app/test-bbdev/test_bbdev_perf.c | 16 ++++++++--------
 1 file changed, 8 insertions(+), 8 deletions(-)

diff --git a/app/test-bbdev/test_bbdev_perf.c b/app/test-bbdev/test_bbdev_perf.c
index c5156a2..ccb6b38 100644
--- a/app/test-bbdev/test_bbdev_perf.c
+++ b/app/test-bbdev/test_bbdev_perf.c
@@ -4392,8 +4392,8 @@ typedef int (test_case_function)(struct active_device *ad,
 		/* Dequeue one operation */
 		do {
 			deq += rte_bbdev_dequeue_dec_ops(dev_id, queue_id,
-					&ops_deq[deq], 1);
-		} while (unlikely(deq != 1));
+					&ops_deq[deq], enq);
+		} while (unlikely(deq == 0));
 
 		deq_last_time = rte_rdtsc_precise() - deq_start_time;
 		time_st->deq_max_time = RTE_MAX(time_st->deq_max_time,
@@ -4483,8 +4483,8 @@ typedef int (test_case_function)(struct active_device *ad,
 		/* Dequeue one operation */
 		do {
 			deq += rte_bbdev_dequeue_ldpc_dec_ops(dev_id, queue_id,
-					&ops_deq[deq], 1);
-		} while (unlikely(deq != 1));
+					&ops_deq[deq], enq);
+		} while (unlikely(deq == 0));
 
 		deq_last_time = rte_rdtsc_precise() - deq_start_time;
 		time_st->deq_max_time = RTE_MAX(time_st->deq_max_time,
@@ -4571,8 +4571,8 @@ typedef int (test_case_function)(struct active_device *ad,
 		/* Dequeue one operation */
 		do {
 			deq += rte_bbdev_dequeue_enc_ops(dev_id, queue_id,
-					&ops_deq[deq], 1);
-		} while (unlikely(deq != 1));
+					&ops_deq[deq], enq);
+		} while (unlikely(deq == 0));
 
 		deq_last_time = rte_rdtsc_precise() - deq_start_time;
 		time_st->deq_max_time = RTE_MAX(time_st->deq_max_time,
@@ -4654,8 +4654,8 @@ typedef int (test_case_function)(struct active_device *ad,
 		/* Dequeue one operation */
 		do {
 			deq += rte_bbdev_dequeue_ldpc_enc_ops(dev_id, queue_id,
-					&ops_deq[deq], 1);
-		} while (unlikely(deq != 1));
+					&ops_deq[deq], enq);
+		} while (unlikely(deq == 0));
 
 		deq_last_time = rte_rdtsc_precise() - deq_start_time;
 		time_st->deq_max_time = RTE_MAX(time_st->deq_max_time,
-- 
1.8.3.1


^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [dpdk-dev] [PATCH v3 1/7] app/bbdev: add explicit ut for latency vs validation
  2020-08-19  0:05 ` [dpdk-dev] [PATCH v3 1/7] app/bbdev: add explicit ut for latency vs validation Nicolas Chautru
@ 2020-09-15  9:49   ` Aidan Goddard
  2020-09-15 10:01   ` Dave Burley
  1 sibling, 0 replies; 20+ messages in thread
From: Aidan Goddard @ 2020-09-15  9:49 UTC (permalink / raw)
  To: Nicolas Chautru, dev, akhil.goyal; +Cc: bruce.richardson, Dave Burley

Acked-by: Aidan Goddard <aidan.goddard@accelercomm.com>


From: dev <dev-bounces@dpdk.org> on behalf of Nicolas Chautru <nicolas.chautru@intel.com>
Sent: 19 August 2020 01:05
To: dev@dpdk.org <dev@dpdk.org>; akhil.goyal@nxp.com <akhil.goyal@nxp.com>
Cc: bruce.richardson@intel.com <bruce.richardson@intel.com>; Nicolas Chautru <nicolas.chautru@intel.com>
Subject: [dpdk-dev] [PATCH v3 1/7] app/bbdev: add explicit ut for latency vs validation 
 
Adding explicit different ut when testing for validation
or latency (early termination enabled or not).

Signed-off-by: Nicolas Chautru <nicolas.chautru@intel.com>
---
 app/test-bbdev/test_bbdev_perf.c | 92 ++++++++++++++++++++++++++++++++++++++--
 1 file changed, 88 insertions(+), 4 deletions(-)

diff --git a/app/test-bbdev/test_bbdev_perf.c b/app/test-bbdev/test_bbdev_perf.c
index 45c0d62..1319afd 100644
--- a/app/test-bbdev/test_bbdev_perf.c
+++ b/app/test-bbdev/test_bbdev_perf.c
@@ -3928,12 +3928,14 @@ typedef int (test_case_function)(struct active_device *ad,
         return i;
 }
 
+/* Test case for latency/validation for LDPC Decoder */
 static int
 latency_test_ldpc_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;
@@ -3955,7 +3957,7 @@ typedef int (test_case_function)(struct active_device *ad,
                                 "rte_bbdev_dec_op_alloc_bulk() failed");
 
                 /* For latency tests we need to disable early termination */
-               if (check_bit(ref_op->ldpc_dec.op_flags,
+               if (disable_et && check_bit(ref_op->ldpc_dec.op_flags,
                                 RTE_BBDEV_LDPC_ITERATION_STOP_ENABLE))
                         ref_op->ldpc_dec.op_flags -=
                                         RTE_BBDEV_LDPC_ITERATION_STOP_ENABLE;
@@ -4177,7 +4179,7 @@ typedef int (test_case_function)(struct active_device *ad,
         TEST_ASSERT_NOT_NULL(op_type_str, "Invalid op type: %u", op_type);
 
         printf("+ ------------------------------------------------------- +\n");
-       printf("== test: validation/latency\ndev: %s, burst size: %u, num ops: %u, op type: %s\n",
+       printf("== test: latency\ndev: %s, burst size: %u, num ops: %u, op type: %s\n",
                         info.dev_name, burst_sz, num_to_process, op_type_str);
 
         if (op_type == RTE_BBDEV_OP_TURBO_DEC)
@@ -4199,7 +4201,83 @@ typedef int (test_case_function)(struct active_device *ad,
                 iter = latency_test_ldpc_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,
+                               true);
+       else
+               iter = latency_test_enc(op_params->mp, bufs,
+                                       op_params->ref_enc_op,
+                                       ad->dev_id, queue_id,
+                                       num_to_process, burst_sz, &total_time,
+                                       &min_time, &max_time);
+
+       if (iter <= 0)
+               return TEST_FAILED;
+
+       printf("Operation latency:\n"
+                       "\tavg: %lg cycles, %lg us\n"
+                       "\tmin: %lg cycles, %lg us\n"
+                       "\tmax: %lg cycles, %lg us\n",
+                       (double)total_time / (double)iter,
+                       (double)(total_time * 1000000) / (double)iter /
+                       (double)rte_get_tsc_hz(), (double)min_time,
+                       (double)(min_time * 1000000) / (double)rte_get_tsc_hz(),
+                       (double)max_time, (double)(max_time * 1000000) /
+                       (double)rte_get_tsc_hz());
+
+       return TEST_SUCCESS;
+}
+
+static int
+validation_test(struct active_device *ad,
+               struct test_op_params *op_params)
+{
+       int iter;
+       uint16_t burst_sz = op_params->burst_sz;
+       const uint16_t num_to_process = op_params->num_to_process;
+       const enum rte_bbdev_op_type op_type = test_vector.op_type;
+       const uint16_t queue_id = ad->queue_ids[0];
+       struct test_buffers *bufs = NULL;
+       struct rte_bbdev_info info;
+       uint64_t total_time, min_time, max_time;
+       const char *op_type_str;
+
+       total_time = max_time = 0;
+       min_time = UINT64_MAX;
+
+       TEST_ASSERT_SUCCESS((burst_sz > MAX_BURST),
+                       "BURST_SIZE should be <= %u", MAX_BURST);
+
+       rte_bbdev_info_get(ad->dev_id, &info);
+       bufs = &op_params->q_bufs[GET_SOCKET(info.socket_id)][queue_id];
+
+       op_type_str = rte_bbdev_op_type_str(op_type);
+       TEST_ASSERT_NOT_NULL(op_type_str, "Invalid op type: %u", op_type);
+
+       printf("+ ------------------------------------------------------- +\n");
+       printf("== test: validation\ndev: %s, burst size: %u, num ops: %u, op type: %s\n",
+                       info.dev_name, burst_sz, num_to_process, op_type_str);
+
+       if (op_type == RTE_BBDEV_OP_TURBO_DEC)
+               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);
+       else if (op_type == RTE_BBDEV_OP_TURBO_ENC)
+               iter = latency_test_enc(op_params->mp, bufs,
+                               op_params->ref_enc_op, ad->dev_id, queue_id,
+                               num_to_process, burst_sz, &total_time,
+                               &min_time, &max_time);
+       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,
+                               num_to_process, burst_sz, &total_time,
+                               &min_time, &max_time);
+       else if (op_type == RTE_BBDEV_OP_LDPC_DEC)
+               iter = latency_test_ldpc_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,
+                               false);
         else
                 iter = latency_test_enc(op_params->mp, bufs,
                                         op_params->ref_enc_op,
@@ -4859,6 +4937,12 @@ typedef int (test_case_function)(struct active_device *ad,
 }
 
 static int
+validation_tc(void)
+{
+       return run_test_case(validation_test);
+}
+
+static int
 interrupt_tc(void)
 {
         return run_test_case(throughput_test);
@@ -4889,7 +4973,7 @@ typedef int (test_case_function)(struct active_device *ad,
         .setup = testsuite_setup,
         .teardown = testsuite_teardown,
         .unit_test_cases = {
-               TEST_CASE_ST(ut_setup, ut_teardown, latency_tc),
+               TEST_CASE_ST(ut_setup, ut_teardown, validation_tc),
                 TEST_CASES_END() /**< NULL terminate unit test array */
         }
 };
-- 
1.8.3.1

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [dpdk-dev] [PATCH v3 2/7] app/bbdev: add explicit check for counters
  2020-08-19  0:05 ` [dpdk-dev] [PATCH v3 2/7] app/bbdev: add explicit check for counters Nicolas Chautru
@ 2020-09-15  9:53   ` Aidan Goddard
  2020-09-15 10:02   ` Dave Burley
  1 sibling, 0 replies; 20+ messages in thread
From: Aidan Goddard @ 2020-09-15  9:53 UTC (permalink / raw)
  To: Nicolas Chautru, dev, akhil.goyal; +Cc: bruce.richardson

Acked-by: Aidan Goddard <aidan.goddard@accelercomm.com>


From: dev <dev-bounces@dpdk.org> on behalf of Nicolas Chautru <nicolas.chautru@intel.com>
Sent: 19 August 2020 01:05
To: dev@dpdk.org <dev@dpdk.org>; akhil.goyal@nxp.com <akhil.goyal@nxp.com>
Cc: bruce.richardson@intel.com <bruce.richardson@intel.com>; Nicolas Chautru <nicolas.chautru@intel.com>
Subject: [dpdk-dev] [PATCH v3 2/7] app/bbdev: add explicit check for counters 
 
Adding explicit check in ut that the stats counters
have the expected values. Was missing for coverage.

Signed-off-by: Nicolas Chautru <nicolas.chautru@intel.com>
---
 app/test-bbdev/test_bbdev_perf.c | 17 +++++++++++++++++
 1 file changed, 17 insertions(+)

diff --git a/app/test-bbdev/test_bbdev_perf.c b/app/test-bbdev/test_bbdev_perf.c
index 1319afd..b0b6f18 100644
--- a/app/test-bbdev/test_bbdev_perf.c
+++ b/app/test-bbdev/test_bbdev_perf.c
@@ -4769,6 +4769,23 @@ typedef int (test_case_function)(struct active_device *ad,
                         (double)(time_st.deq_max_time * 1000000) /
                         rte_get_tsc_hz());
 
+       struct rte_bbdev_stats stats = {0};
+       get_bbdev_queue_stats(ad->dev_id, queue_id, &stats);
+       if (op_type != RTE_BBDEV_OP_LDPC_DEC) {
+               TEST_ASSERT_SUCCESS(stats.enqueued_count != num_to_process,
+                               "Mismatch in enqueue count %10"PRIu64" %d",
+                               stats.enqueued_count, num_to_process);
+               TEST_ASSERT_SUCCESS(stats.dequeued_count != num_to_process,
+                               "Mismatch in dequeue count %10"PRIu64" %d",
+                               stats.dequeued_count, num_to_process);
+       }
+       TEST_ASSERT_SUCCESS(stats.enqueue_err_count != 0,
+                       "Enqueue count Error %10"PRIu64"",
+                       stats.enqueue_err_count);
+       TEST_ASSERT_SUCCESS(stats.dequeue_err_count != 0,
+                       "Dequeue count Error (%10"PRIu64"",
+                       stats.dequeue_err_count);
+
         return TEST_SUCCESS;
 #endif
 }
-- 
1.8.3.1

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [dpdk-dev] [PATCH v3 5/7] app/bbdev: skip bler ut when compression is used
  2020-08-19  0:05 ` [dpdk-dev] [PATCH v3 5/7] app/bbdev: skip bler ut when compression is used Nicolas Chautru
@ 2020-09-15  9:55   ` Aidan Goddard
  2020-09-15 10:03   ` Dave Burley
  1 sibling, 0 replies; 20+ messages in thread
From: Aidan Goddard @ 2020-09-15  9:55 UTC (permalink / raw)
  To: Nicolas Chautru, dev, akhil.goyal; +Cc: bruce.richardson, Dave Burley

Acked-by: Aidan Goddard <aidan.goddard@accelercomm.com>


From: dev <dev-bounces@dpdk.org> on behalf of Nicolas Chautru <nicolas.chautru@intel.com>
Sent: 19 August 2020 01:05
To: dev@dpdk.org <dev@dpdk.org>; akhil.goyal@nxp.com <akhil.goyal@nxp.com>
Cc: bruce.richardson@intel.com <bruce.richardson@intel.com>; Nicolas Chautru <nicolas.chautru@intel.com>
Subject: [dpdk-dev] [PATCH v3 5/7] app/bbdev: skip bler ut when compression is used 
 
bler test results are not valid when LLR compression
is used or for loopback scenarios. Skipping these.

Signed-off-by: Nicolas Chautru <nicolas.chautru@intel.com>
---
 app/test-bbdev/test_bbdev_perf.c | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/app/test-bbdev/test_bbdev_perf.c b/app/test-bbdev/test_bbdev_perf.c
index e2c1d64..a6cd94b 100644
--- a/app/test-bbdev/test_bbdev_perf.c
+++ b/app/test-bbdev/test_bbdev_perf.c
@@ -3648,7 +3648,11 @@ typedef int (test_case_function)(struct active_device *ad,
                         RTE_ALIGN(sizeof(struct thread_params) * num_lcores,
                                 RTE_CACHE_LINE_SIZE));
 
-       if (test_vector.op_type == RTE_BBDEV_OP_LDPC_DEC)
+       if ((test_vector.op_type == RTE_BBDEV_OP_LDPC_DEC) &&
+                       !check_bit(test_vector.ldpc_dec.op_flags,
+                       RTE_BBDEV_LDPC_INTERNAL_HARQ_MEMORY_LOOPBACK)
+                       && !check_bit(test_vector.ldpc_dec.op_flags,
+                       RTE_BBDEV_LDPC_LLR_COMPRESSION))
                 bler_function = bler_pmd_lcore_ldpc_dec;
         else
                 return TEST_SKIPPED;
-- 
1.8.3.1

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [dpdk-dev] [PATCH v3 7/7] app/bbdev: update offload test to dequeue full ring
  2020-08-19  0:05 ` [dpdk-dev] [PATCH v3 7/7] app/bbdev: update offload test to dequeue full ring Nicolas Chautru
@ 2020-09-15  9:55   ` Aidan Goddard
  2020-09-15 10:05   ` Dave Burley
  1 sibling, 0 replies; 20+ messages in thread
From: Aidan Goddard @ 2020-09-15  9:55 UTC (permalink / raw)
  To: Nicolas Chautru, dev, akhil.goyal; +Cc: bruce.richardson, Dave Burley

Acked-by: Aidan Goddard <aidan.goddard@accelercomm.com>


From: dev <dev-bounces@dpdk.org> on behalf of Nicolas Chautru <nicolas.chautru@intel.com>
Sent: 19 August 2020 01:05
To: dev@dpdk.org <dev@dpdk.org>; akhil.goyal@nxp.com <akhil.goyal@nxp.com>
Cc: bruce.richardson@intel.com <bruce.richardson@intel.com>; Nicolas Chautru <nicolas.chautru@intel.com>
Subject: [dpdk-dev] [PATCH v3 7/7] app/bbdev: update offload test to dequeue full ring 
 
update offload dequeue to retrieve the full ring to be
agnostic of implementation.

Signed-off-by: Nicolas Chautru <nicolas.chautru@intel.com>
---
 app/test-bbdev/test_bbdev_perf.c | 16 ++++++++--------
 1 file changed, 8 insertions(+), 8 deletions(-)

diff --git a/app/test-bbdev/test_bbdev_perf.c b/app/test-bbdev/test_bbdev_perf.c
index c5156a2..ccb6b38 100644
--- a/app/test-bbdev/test_bbdev_perf.c
+++ b/app/test-bbdev/test_bbdev_perf.c
@@ -4392,8 +4392,8 @@ typedef int (test_case_function)(struct active_device *ad,
                 /* Dequeue one operation */
                 do {
                         deq += rte_bbdev_dequeue_dec_ops(dev_id, queue_id,
-                                       &ops_deq[deq], 1);
-               } while (unlikely(deq != 1));
+                                       &ops_deq[deq], enq);
+               } while (unlikely(deq == 0));
 
                 deq_last_time = rte_rdtsc_precise() - deq_start_time;
                 time_st->deq_max_time = RTE_MAX(time_st->deq_max_time,
@@ -4483,8 +4483,8 @@ typedef int (test_case_function)(struct active_device *ad,
                 /* Dequeue one operation */
                 do {
                         deq += rte_bbdev_dequeue_ldpc_dec_ops(dev_id, queue_id,
-                                       &ops_deq[deq], 1);
-               } while (unlikely(deq != 1));
+                                       &ops_deq[deq], enq);
+               } while (unlikely(deq == 0));
 
                 deq_last_time = rte_rdtsc_precise() - deq_start_time;
                 time_st->deq_max_time = RTE_MAX(time_st->deq_max_time,
@@ -4571,8 +4571,8 @@ typedef int (test_case_function)(struct active_device *ad,
                 /* Dequeue one operation */
                 do {
                         deq += rte_bbdev_dequeue_enc_ops(dev_id, queue_id,
-                                       &ops_deq[deq], 1);
-               } while (unlikely(deq != 1));
+                                       &ops_deq[deq], enq);
+               } while (unlikely(deq == 0));
 
                 deq_last_time = rte_rdtsc_precise() - deq_start_time;
                 time_st->deq_max_time = RTE_MAX(time_st->deq_max_time,
@@ -4654,8 +4654,8 @@ typedef int (test_case_function)(struct active_device *ad,
                 /* Dequeue one operation */
                 do {
                         deq += rte_bbdev_dequeue_ldpc_enc_ops(dev_id, queue_id,
-                                       &ops_deq[deq], 1);
-               } while (unlikely(deq != 1));
+                                       &ops_deq[deq], enq);
+               } while (unlikely(deq == 0));
 
                 deq_last_time = rte_rdtsc_precise() - deq_start_time;
                 time_st->deq_max_time = RTE_MAX(time_st->deq_max_time,
-- 
1.8.3.1

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [dpdk-dev] [PATCH v3 1/7] app/bbdev: add explicit ut for latency vs validation
  2020-08-19  0:05 ` [dpdk-dev] [PATCH v3 1/7] app/bbdev: add explicit ut for latency vs validation Nicolas Chautru
  2020-09-15  9:49   ` Aidan Goddard
@ 2020-09-15 10:01   ` Dave Burley
  1 sibling, 0 replies; 20+ messages in thread
From: Dave Burley @ 2020-09-15 10:01 UTC (permalink / raw)
  To: Nicolas Chautru, dev, akhil.goyal; +Cc: bruce.richardson, Aidan Goddard

Acked-by: Dave Burley <dave.burley@accelercomm.com>



From: dev <dev-bounces@dpdk.org> on behalf of Nicolas Chautru <nicolas.chautru@intel.com>
Sent: 19 August 2020 01:05
To: dev@dpdk.org <dev@dpdk.org>; akhil.goyal@nxp.com <akhil.goyal@nxp.com>
Cc: bruce.richardson@intel.com <bruce.richardson@intel.com>; Nicolas Chautru <nicolas.chautru@intel.com>
Subject: [dpdk-dev] [PATCH v3 1/7] app/bbdev: add explicit ut for latency vs validation 
 
Adding explicit different ut when testing for validation
or latency (early termination enabled or not).

Signed-off-by: Nicolas Chautru <nicolas.chautru@intel.com>
---
 app/test-bbdev/test_bbdev_perf.c | 92 ++++++++++++++++++++++++++++++++++++++--
 1 file changed, 88 insertions(+), 4 deletions(-)

diff --git a/app/test-bbdev/test_bbdev_perf.c b/app/test-bbdev/test_bbdev_perf.c
index 45c0d62..1319afd 100644
--- a/app/test-bbdev/test_bbdev_perf.c
+++ b/app/test-bbdev/test_bbdev_perf.c
@@ -3928,12 +3928,14 @@ typedef int (test_case_function)(struct active_device *ad,
         return i;
 }
 
+/* Test case for latency/validation for LDPC Decoder */
 static int
 latency_test_ldpc_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;
@@ -3955,7 +3957,7 @@ typedef int (test_case_function)(struct active_device *ad,
                                 "rte_bbdev_dec_op_alloc_bulk() failed");
 
                 /* For latency tests we need to disable early termination */
-               if (check_bit(ref_op->ldpc_dec.op_flags,
+               if (disable_et && check_bit(ref_op->ldpc_dec.op_flags,
                                 RTE_BBDEV_LDPC_ITERATION_STOP_ENABLE))
                         ref_op->ldpc_dec.op_flags -=
                                         RTE_BBDEV_LDPC_ITERATION_STOP_ENABLE;
@@ -4177,7 +4179,7 @@ typedef int (test_case_function)(struct active_device *ad,
         TEST_ASSERT_NOT_NULL(op_type_str, "Invalid op type: %u", op_type);
 
         printf("+ ------------------------------------------------------- +\n");
-       printf("== test: validation/latency\ndev: %s, burst size: %u, num ops: %u, op type: %s\n",
+       printf("== test: latency\ndev: %s, burst size: %u, num ops: %u, op type: %s\n",
                         info.dev_name, burst_sz, num_to_process, op_type_str);
 
         if (op_type == RTE_BBDEV_OP_TURBO_DEC)
@@ -4199,7 +4201,83 @@ typedef int (test_case_function)(struct active_device *ad,
                 iter = latency_test_ldpc_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,
+                               true);
+       else
+               iter = latency_test_enc(op_params->mp, bufs,
+                                       op_params->ref_enc_op,
+                                       ad->dev_id, queue_id,
+                                       num_to_process, burst_sz, &total_time,
+                                       &min_time, &max_time);
+
+       if (iter <= 0)
+               return TEST_FAILED;
+
+       printf("Operation latency:\n"
+                       "\tavg: %lg cycles, %lg us\n"
+                       "\tmin: %lg cycles, %lg us\n"
+                       "\tmax: %lg cycles, %lg us\n",
+                       (double)total_time / (double)iter,
+                       (double)(total_time * 1000000) / (double)iter /
+                       (double)rte_get_tsc_hz(), (double)min_time,
+                       (double)(min_time * 1000000) / (double)rte_get_tsc_hz(),
+                       (double)max_time, (double)(max_time * 1000000) /
+                       (double)rte_get_tsc_hz());
+
+       return TEST_SUCCESS;
+}
+
+static int
+validation_test(struct active_device *ad,
+               struct test_op_params *op_params)
+{
+       int iter;
+       uint16_t burst_sz = op_params->burst_sz;
+       const uint16_t num_to_process = op_params->num_to_process;
+       const enum rte_bbdev_op_type op_type = test_vector.op_type;
+       const uint16_t queue_id = ad->queue_ids[0];
+       struct test_buffers *bufs = NULL;
+       struct rte_bbdev_info info;
+       uint64_t total_time, min_time, max_time;
+       const char *op_type_str;
+
+       total_time = max_time = 0;
+       min_time = UINT64_MAX;
+
+       TEST_ASSERT_SUCCESS((burst_sz > MAX_BURST),
+                       "BURST_SIZE should be <= %u", MAX_BURST);
+
+       rte_bbdev_info_get(ad->dev_id, &info);
+       bufs = &op_params->q_bufs[GET_SOCKET(info.socket_id)][queue_id];
+
+       op_type_str = rte_bbdev_op_type_str(op_type);
+       TEST_ASSERT_NOT_NULL(op_type_str, "Invalid op type: %u", op_type);
+
+       printf("+ ------------------------------------------------------- +\n");
+       printf("== test: validation\ndev: %s, burst size: %u, num ops: %u, op type: %s\n",
+                       info.dev_name, burst_sz, num_to_process, op_type_str);
+
+       if (op_type == RTE_BBDEV_OP_TURBO_DEC)
+               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);
+       else if (op_type == RTE_BBDEV_OP_TURBO_ENC)
+               iter = latency_test_enc(op_params->mp, bufs,
+                               op_params->ref_enc_op, ad->dev_id, queue_id,
+                               num_to_process, burst_sz, &total_time,
+                               &min_time, &max_time);
+       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,
+                               num_to_process, burst_sz, &total_time,
+                               &min_time, &max_time);
+       else if (op_type == RTE_BBDEV_OP_LDPC_DEC)
+               iter = latency_test_ldpc_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,
+                               false);
         else
                 iter = latency_test_enc(op_params->mp, bufs,
                                         op_params->ref_enc_op,
@@ -4859,6 +4937,12 @@ typedef int (test_case_function)(struct active_device *ad,
 }
 
 static int
+validation_tc(void)
+{
+       return run_test_case(validation_test);
+}
+
+static int
 interrupt_tc(void)
 {
         return run_test_case(throughput_test);
@@ -4889,7 +4973,7 @@ typedef int (test_case_function)(struct active_device *ad,
         .setup = testsuite_setup,
         .teardown = testsuite_teardown,
         .unit_test_cases = {
-               TEST_CASE_ST(ut_setup, ut_teardown, latency_tc),
+               TEST_CASE_ST(ut_setup, ut_teardown, validation_tc),
                 TEST_CASES_END() /**< NULL terminate unit test array */
         }
 };
-- 
1.8.3.1

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [dpdk-dev] [PATCH v3 2/7] app/bbdev: add explicit check for counters
  2020-08-19  0:05 ` [dpdk-dev] [PATCH v3 2/7] app/bbdev: add explicit check for counters Nicolas Chautru
  2020-09-15  9:53   ` Aidan Goddard
@ 2020-09-15 10:02   ` Dave Burley
  1 sibling, 0 replies; 20+ messages in thread
From: Dave Burley @ 2020-09-15 10:02 UTC (permalink / raw)
  To: Nicolas Chautru, dev, akhil.goyal; +Cc: bruce.richardson, Aidan Goddard

Acked-by: Dave Burley <dave.burley@accelercomm.com>


From: dev <dev-bounces@dpdk.org> on behalf of Nicolas Chautru <nicolas.chautru@intel.com>
Sent: 19 August 2020 01:05
To: dev@dpdk.org <dev@dpdk.org>; akhil.goyal@nxp.com <akhil.goyal@nxp.com>
Cc: bruce.richardson@intel.com <bruce.richardson@intel.com>; Nicolas Chautru <nicolas.chautru@intel.com>
Subject: [dpdk-dev] [PATCH v3 2/7] app/bbdev: add explicit check for counters 
 
Adding explicit check in ut that the stats counters
have the expected values. Was missing for coverage.

Signed-off-by: Nicolas Chautru <nicolas.chautru@intel.com>
---
 app/test-bbdev/test_bbdev_perf.c | 17 +++++++++++++++++
 1 file changed, 17 insertions(+)

diff --git a/app/test-bbdev/test_bbdev_perf.c b/app/test-bbdev/test_bbdev_perf.c
index 1319afd..b0b6f18 100644
--- a/app/test-bbdev/test_bbdev_perf.c
+++ b/app/test-bbdev/test_bbdev_perf.c
@@ -4769,6 +4769,23 @@ typedef int (test_case_function)(struct active_device *ad,
                         (double)(time_st.deq_max_time * 1000000) /
                         rte_get_tsc_hz());
 
+       struct rte_bbdev_stats stats = {0};
+       get_bbdev_queue_stats(ad->dev_id, queue_id, &stats);
+       if (op_type != RTE_BBDEV_OP_LDPC_DEC) {
+               TEST_ASSERT_SUCCESS(stats.enqueued_count != num_to_process,
+                               "Mismatch in enqueue count %10"PRIu64" %d",
+                               stats.enqueued_count, num_to_process);
+               TEST_ASSERT_SUCCESS(stats.dequeued_count != num_to_process,
+                               "Mismatch in dequeue count %10"PRIu64" %d",
+                               stats.dequeued_count, num_to_process);
+       }
+       TEST_ASSERT_SUCCESS(stats.enqueue_err_count != 0,
+                       "Enqueue count Error %10"PRIu64"",
+                       stats.enqueue_err_count);
+       TEST_ASSERT_SUCCESS(stats.dequeue_err_count != 0,
+                       "Dequeue count Error (%10"PRIu64"",
+                       stats.dequeue_err_count);
+
         return TEST_SUCCESS;
 #endif
 }
-- 
1.8.3.1

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [dpdk-dev] [PATCH v3 5/7] app/bbdev: skip bler ut when compression is used
  2020-08-19  0:05 ` [dpdk-dev] [PATCH v3 5/7] app/bbdev: skip bler ut when compression is used Nicolas Chautru
  2020-09-15  9:55   ` Aidan Goddard
@ 2020-09-15 10:03   ` Dave Burley
  1 sibling, 0 replies; 20+ messages in thread
From: Dave Burley @ 2020-09-15 10:03 UTC (permalink / raw)
  To: Nicolas Chautru, dev, akhil.goyal; +Cc: bruce.richardson, Aidan Goddard

Acked-by: Dave Burley <dave.burley@accelercomm.com>



From: dev <dev-bounces@dpdk.org> on behalf of Nicolas Chautru <nicolas.chautru@intel.com>
Sent: 19 August 2020 01:05
To: dev@dpdk.org <dev@dpdk.org>; akhil.goyal@nxp.com <akhil.goyal@nxp.com>
Cc: bruce.richardson@intel.com <bruce.richardson@intel.com>; Nicolas Chautru <nicolas.chautru@intel.com>
Subject: [dpdk-dev] [PATCH v3 5/7] app/bbdev: skip bler ut when compression is used 
 
bler test results are not valid when LLR compression
is used or for loopback scenarios. Skipping these.

Signed-off-by: Nicolas Chautru <nicolas.chautru@intel.com>
---
 app/test-bbdev/test_bbdev_perf.c | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/app/test-bbdev/test_bbdev_perf.c b/app/test-bbdev/test_bbdev_perf.c
index e2c1d64..a6cd94b 100644
--- a/app/test-bbdev/test_bbdev_perf.c
+++ b/app/test-bbdev/test_bbdev_perf.c
@@ -3648,7 +3648,11 @@ typedef int (test_case_function)(struct active_device *ad,
                         RTE_ALIGN(sizeof(struct thread_params) * num_lcores,
                                 RTE_CACHE_LINE_SIZE));
 
-       if (test_vector.op_type == RTE_BBDEV_OP_LDPC_DEC)
+       if ((test_vector.op_type == RTE_BBDEV_OP_LDPC_DEC) &&
+                       !check_bit(test_vector.ldpc_dec.op_flags,
+                       RTE_BBDEV_LDPC_INTERNAL_HARQ_MEMORY_LOOPBACK)
+                       && !check_bit(test_vector.ldpc_dec.op_flags,
+                       RTE_BBDEV_LDPC_LLR_COMPRESSION))
                 bler_function = bler_pmd_lcore_ldpc_dec;
         else
                 return TEST_SKIPPED;
-- 
1.8.3.1

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [dpdk-dev] [PATCH v3 7/7] app/bbdev: update offload test to dequeue full ring
  2020-08-19  0:05 ` [dpdk-dev] [PATCH v3 7/7] app/bbdev: update offload test to dequeue full ring Nicolas Chautru
  2020-09-15  9:55   ` Aidan Goddard
@ 2020-09-15 10:05   ` Dave Burley
  1 sibling, 0 replies; 20+ messages in thread
From: Dave Burley @ 2020-09-15 10:05 UTC (permalink / raw)
  To: Nicolas Chautru, dev, akhil.goyal; +Cc: bruce.richardson, Aidan Goddard

Acked-by: Dave Burley <dave.burley@accelercomm.com>


From: dev <dev-bounces@dpdk.org> on behalf of Nicolas Chautru <nicolas.chautru@intel.com>
Sent: 19 August 2020 01:05
To: dev@dpdk.org <dev@dpdk.org>; akhil.goyal@nxp.com <akhil.goyal@nxp.com>
Cc: bruce.richardson@intel.com <bruce.richardson@intel.com>; Nicolas Chautru <nicolas.chautru@intel.com>
Subject: [dpdk-dev] [PATCH v3 7/7] app/bbdev: update offload test to dequeue full ring 
 
update offload dequeue to retrieve the full ring to be
agnostic of implementation.

Signed-off-by: Nicolas Chautru <nicolas.chautru@intel.com>
---
 app/test-bbdev/test_bbdev_perf.c | 16 ++++++++--------
 1 file changed, 8 insertions(+), 8 deletions(-)

diff --git a/app/test-bbdev/test_bbdev_perf.c b/app/test-bbdev/test_bbdev_perf.c
index c5156a2..ccb6b38 100644
--- a/app/test-bbdev/test_bbdev_perf.c
+++ b/app/test-bbdev/test_bbdev_perf.c
@@ -4392,8 +4392,8 @@ typedef int (test_case_function)(struct active_device *ad,
                 /* Dequeue one operation */
                 do {
                         deq += rte_bbdev_dequeue_dec_ops(dev_id, queue_id,
-                                       &ops_deq[deq], 1);
-               } while (unlikely(deq != 1));
+                                       &ops_deq[deq], enq);
+               } while (unlikely(deq == 0));
 
                 deq_last_time = rte_rdtsc_precise() - deq_start_time;
                 time_st->deq_max_time = RTE_MAX(time_st->deq_max_time,
@@ -4483,8 +4483,8 @@ typedef int (test_case_function)(struct active_device *ad,
                 /* Dequeue one operation */
                 do {
                         deq += rte_bbdev_dequeue_ldpc_dec_ops(dev_id, queue_id,
-                                       &ops_deq[deq], 1);
-               } while (unlikely(deq != 1));
+                                       &ops_deq[deq], enq);
+               } while (unlikely(deq == 0));
 
                 deq_last_time = rte_rdtsc_precise() - deq_start_time;
                 time_st->deq_max_time = RTE_MAX(time_st->deq_max_time,
@@ -4571,8 +4571,8 @@ typedef int (test_case_function)(struct active_device *ad,
                 /* Dequeue one operation */
                 do {
                         deq += rte_bbdev_dequeue_enc_ops(dev_id, queue_id,
-                                       &ops_deq[deq], 1);
-               } while (unlikely(deq != 1));
+                                       &ops_deq[deq], enq);
+               } while (unlikely(deq == 0));
 
                 deq_last_time = rte_rdtsc_precise() - deq_start_time;
                 time_st->deq_max_time = RTE_MAX(time_st->deq_max_time,
@@ -4654,8 +4654,8 @@ typedef int (test_case_function)(struct active_device *ad,
                 /* Dequeue one operation */
                 do {
                         deq += rte_bbdev_dequeue_ldpc_enc_ops(dev_id, queue_id,
-                                       &ops_deq[deq], 1);
-               } while (unlikely(deq != 1));
+                                       &ops_deq[deq], enq);
+               } while (unlikely(deq == 0));
 
                 deq_last_time = rte_rdtsc_precise() - deq_start_time;
                 time_st->deq_max_time = RTE_MAX(time_st->deq_max_time,
-- 
1.8.3.1

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [dpdk-dev] [PATCH v3 0/7] BBDEV test updates
  2020-08-19  0:05 [dpdk-dev] [PATCH v3 0/7] BBDEV test updates Nicolas Chautru
                   ` (6 preceding siblings ...)
  2020-08-19  0:05 ` [dpdk-dev] [PATCH v3 7/7] app/bbdev: update offload test to dequeue full ring Nicolas Chautru
@ 2020-10-07  0:13 ` Chautru, Nicolas
  2020-10-07  6:37   ` Akhil Goyal
  7 siblings, 1 reply; 20+ messages in thread
From: Chautru, Nicolas @ 2020-10-07  0:13 UTC (permalink / raw)
  To: dev, akhil.goyal, trix; +Cc: Richardson, Bruce

Hi Akhil, 
Just a heads up on this bbdev related serie in case you missed it. 
It would be useful to have all the bbdev changes into rc1. 
+ Tom
Thanks again, 
Nic


> -----Original Message-----
> From: Chautru, Nicolas <nicolas.chautru@intel.com>
> Sent: Tuesday, August 18, 2020 5:06 PM
> To: dev@dpdk.org; akhil.goyal@nxp.com
> Cc: Richardson, Bruce <bruce.richardson@intel.com>; Chautru, Nicolas
> <nicolas.chautru@intel.com>
> Subject: [PATCH v3 0/7] BBDEV test updates
> 
> v3: apologize again for typo and not double checking with check-git-log
> v2: typos missed in commit messages
> Serie updating and extending the app running the bbdev-test for the existing
> bbdev PMDs.
> 
> 
> Nicolas Chautru (7):
>   app/bbdev: add explicit ut for latency vs validation
>   app/bbdev: add explicit check for counters
>   app/bbdev: include explicit HARQ preloading
>   app/bbdev: define wait for offload
>   app/bbdev: skip bler ut when compression is used
>   app/bbdev: reduce duration of throughput test
>   app/bbdev: update offload test to dequeue full ring
> 
>  app/test-bbdev/main.h            |   1 +
>  app/test-bbdev/test_bbdev_perf.c | 193
> ++++++++++++++++++++++++++++++---------
>  2 files changed, 152 insertions(+), 42 deletions(-)
> 
> --
> 1.8.3.1


^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [dpdk-dev] [PATCH v3 0/7] BBDEV test updates
  2020-10-07  0:13 ` [dpdk-dev] [PATCH v3 0/7] BBDEV test updates Chautru, Nicolas
@ 2020-10-07  6:37   ` Akhil Goyal
  2020-10-07 16:00     ` Chautru, Nicolas
  2020-10-20 16:08     ` Chautru, Nicolas
  0 siblings, 2 replies; 20+ messages in thread
From: Akhil Goyal @ 2020-10-07  6:37 UTC (permalink / raw)
  To: Chautru, Nicolas, dev, trix; +Cc: Richardson, Bruce

Hi Nic,
> 
> Hi Akhil,
> Just a heads up on this bbdev related serie in case you missed it.
> It would be useful to have all the bbdev changes into rc1.
> + Tom

This patchset is not reviewed much and I have a lot of back log to clear for API layer.
I am planning to pick it in RC2, or if I get some time after merging the essential patches for RC1.

Regards,
Akhil

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [dpdk-dev] [PATCH v3 0/7] BBDEV test updates
  2020-10-07  6:37   ` Akhil Goyal
@ 2020-10-07 16:00     ` Chautru, Nicolas
  2020-10-20 16:08     ` Chautru, Nicolas
  1 sibling, 0 replies; 20+ messages in thread
From: Chautru, Nicolas @ 2020-10-07 16:00 UTC (permalink / raw)
  To: Akhil Goyal, dev, trix; +Cc: Richardson, Bruce

Tom, 
Can you please review the serie to provide more ack/review. 
It was already reviewed and shared as patch internally to Intel.
Thanks
Nic

> -----Original Message-----
> From: Akhil Goyal <akhil.goyal@nxp.com>
> Sent: Tuesday, October 6, 2020 11:38 PM
> To: Chautru, Nicolas <nicolas.chautru@intel.com>; dev@dpdk.org;
> trix@redhat.com
> Cc: Richardson, Bruce <bruce.richardson@intel.com>
> Subject: RE: [PATCH v3 0/7] BBDEV test updates
> 
> Hi Nic,
> >
> > Hi Akhil,
> > Just a heads up on this bbdev related serie in case you missed it.
> > It would be useful to have all the bbdev changes into rc1.
> > + Tom
> 
> This patchset is not reviewed much and I have a lot of back log to clear for
> API layer.
> I am planning to pick it in RC2, or if I get some time after merging the
> essential patches for RC1.
> 
> Regards,
> Akhil

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [dpdk-dev] [PATCH v3 0/7] BBDEV test updates
  2020-10-07  6:37   ` Akhil Goyal
  2020-10-07 16:00     ` Chautru, Nicolas
@ 2020-10-20 16:08     ` Chautru, Nicolas
  1 sibling, 0 replies; 20+ messages in thread
From: Chautru, Nicolas @ 2020-10-20 16:08 UTC (permalink / raw)
  To: Akhil Goyal, dev, trix; +Cc: Richardson, Bruce

Hi Akhil, 
Heads up on this one. Can you consider applying it for rc2 now?
Thanks
Nic

> -----Original Message-----
> From: Akhil Goyal <akhil.goyal@nxp.com>
> Sent: Tuesday, October 6, 2020 11:38 PM
> To: Chautru, Nicolas <nicolas.chautru@intel.com>; dev@dpdk.org;
> trix@redhat.com
> Cc: Richardson, Bruce <bruce.richardson@intel.com>
> Subject: RE: [PATCH v3 0/7] BBDEV test updates
> 
> Hi Nic,
> >
> > Hi Akhil,
> > Just a heads up on this bbdev related serie in case you missed it.
> > It would be useful to have all the bbdev changes into rc1.
> > + Tom
> 
> This patchset is not reviewed much and I have a lot of back log to clear for
> API layer.
> I am planning to pick it in RC2, or if I get some time after merging the
> essential patches for RC1.
> 
> Regards,
> Akhil

^ permalink raw reply	[flat|nested] 20+ messages in thread

end of thread, other threads:[~2020-10-20 16:09 UTC | newest]

Thread overview: 20+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-08-19  0:05 [dpdk-dev] [PATCH v3 0/7] BBDEV test updates Nicolas Chautru
2020-08-19  0:05 ` [dpdk-dev] [PATCH v3 1/7] app/bbdev: add explicit ut for latency vs validation Nicolas Chautru
2020-09-15  9:49   ` Aidan Goddard
2020-09-15 10:01   ` Dave Burley
2020-08-19  0:05 ` [dpdk-dev] [PATCH v3 2/7] app/bbdev: add explicit check for counters Nicolas Chautru
2020-09-15  9:53   ` Aidan Goddard
2020-09-15 10:02   ` Dave Burley
2020-08-19  0:05 ` [dpdk-dev] [PATCH v3 3/7] app/bbdev: include explicit HARQ preloading Nicolas Chautru
2020-08-19  0:05 ` [dpdk-dev] [PATCH v3 4/7] app/bbdev: define wait for offload Nicolas Chautru
2020-08-19  0:05 ` [dpdk-dev] [PATCH v3 5/7] app/bbdev: skip bler ut when compression is used Nicolas Chautru
2020-09-15  9:55   ` Aidan Goddard
2020-09-15 10:03   ` Dave Burley
2020-08-19  0:05 ` [dpdk-dev] [PATCH v3 6/7] app/bbdev: reduce duration of throughput test Nicolas Chautru
2020-08-19  0:05 ` [dpdk-dev] [PATCH v3 7/7] app/bbdev: update offload test to dequeue full ring Nicolas Chautru
2020-09-15  9:55   ` Aidan Goddard
2020-09-15 10:05   ` Dave Burley
2020-10-07  0:13 ` [dpdk-dev] [PATCH v3 0/7] BBDEV test updates Chautru, Nicolas
2020-10-07  6:37   ` Akhil Goyal
2020-10-07 16:00     ` Chautru, Nicolas
2020-10-20 16:08     ` Chautru, Nicolas

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).