* [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; 21+ 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] 21+ 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; 21+ 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] 21+ 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; 21+ 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] 21+ 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; 21+ 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] 21+ 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; 21+ 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] 21+ 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; 21+ 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] 21+ 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; 21+ 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] 21+ 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; 21+ 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] 21+ 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; 21+ 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] 21+ 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; 21+ 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] 21+ 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; 21+ 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] 21+ 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; 21+ 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] 21+ 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; 21+ 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] 21+ 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; 21+ 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] 21+ 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; 21+ 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] 21+ 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; 21+ 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] 21+ 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; 21+ 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] 21+ 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; 21+ 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] 21+ 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; 21+ 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] 21+ 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; 21+ 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] 21+ messages in thread
* Re: [dpdk-dev] [PATCH v3 2/7] app/bbdev: add explicit check for counters
@ 2020-09-15 2:56 Liu, Tianjiao
0 siblings, 0 replies; 21+ messages in thread
From: Liu, Tianjiao @ 2020-09-15 2:56 UTC (permalink / raw)
To: dev, akhil.goyal; +Cc: Chautru, Nicolas
On Tue, 18 Aug 2020 17:05:52 -0700, Nicolas Chautru wrote:
> 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(+)
Acked-by: Liu Tianjiao <tianjiao.liu@intel.com<mailto:tianjiao.liu@intel.com>>
^ permalink raw reply [flat|nested] 21+ messages in thread
end of thread, other threads:[~2020-10-20 16:09 UTC | newest]
Thread overview: 21+ 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
2020-09-15 2:56 [dpdk-dev] [PATCH v3 2/7] app/bbdev: add explicit check for counters Liu, Tianjiao
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).