[EXT] [PATCH 1/8] app/test-crypto-perf: improve dequeue logic
Akhil Goyal
gakhil at marvell.com
Fri May 13 11:46:48 CEST 2022
Hi Gagan,
> Issue more dequeue commands if the gap between enqueued
> and dequeued packets is more than burst size *8
>
> Signed-off-by: Gagandeep Singh <g.singh at nxp.com>
> ---
Why is this change required? What gain are we getting?
I see a performance drop due to this patch.
> app/test-crypto-perf/cperf_test_throughput.c | 42 +++++++++++---------
> 1 file changed, 23 insertions(+), 19 deletions(-)
>
> diff --git a/app/test-crypto-perf/cperf_test_throughput.c b/app/test-crypto-
> perf/cperf_test_throughput.c
> index cecf30e470..5cd8919c91 100644
> --- a/app/test-crypto-perf/cperf_test_throughput.c
> +++ b/app/test-crypto-perf/cperf_test_throughput.c
> @@ -223,26 +223,30 @@ cperf_throughput_test_runner(void *test_ctx)
> ops_unused = burst_size - ops_enqd;
> ops_enqd_total += ops_enqd;
>
> -
> /* Dequeue processed burst of ops from crypto device
> */
> - ops_deqd = rte_cryptodev_dequeue_burst(ctx->dev_id,
> ctx->qp_id,
> - ops_processed, test_burst_size);
> -
> - if (likely(ops_deqd)) {
> - /* Free crypto ops so they can be reused. */
> - rte_mempool_put_bulk(ctx->pool,
> - (void **)ops_processed,
> ops_deqd);
> -
> - ops_deqd_total += ops_deqd;
> - } else {
> - /**
> - * Count dequeue polls which didn't return any
> - * processed operations. This statistic is mainly
> - * relevant to hw accelerators.
> - */
> - ops_deqd_failed++;
> - }
> -
> + do {
> + ops_deqd = rte_cryptodev_dequeue_burst(
> + ctx->dev_id, ctx->qp_id,
> + ops_processed,
> test_burst_size);
> +
> + if (likely(ops_deqd)) {
> + /* Free crypto ops for reuse */
> + rte_mempool_put_bulk(ctx->pool,
> + (void
> **)ops_processed,
> + ops_deqd);
> +
> + ops_deqd_total += ops_deqd;
> + } else {
> + /**
> + * Count dequeue polls which didn't
> + * return any processed operations.
> + * This statistic is mainly relevant
> + * to hw accelerators.
> + */
> + ops_deqd_failed++;
> + }
> + } while (ops_enqd_total - ops_deqd_total >
> + test_burst_size * 8);
> }
>
> /* Dequeue any operations still in the crypto device */
> --
> 2.25.1
More information about the dev
mailing list