[dpdk-dev] [PATCH v3 0/7] Crypto-perf app improvements

Pablo de Lara pablo.de.lara.guarch at intel.com
Fri Sep 22 09:55:12 CEST 2017

This patchset includes some improvements in the Crypto performance
application, including app fixes and new parameter additions.

The last patch, in particular, introduces performance improvements.
Currently, crypto operations are allocated in a mempool and mbufs
in a different one. Then mbufs are extracted to an array, which is
looped through for all the crypto operations, impacting greatly
the performance, as much more memory is used.

Since crypto operations and mbufs are mapped 1:1, the can share the
same mempool object (similar to having the mbuf in the private data
of the crypto operation).
This improves performance, as it is only required to handle a single
mempool and the mbufs are obtained from the cache of the mempoool,
and not from an static array.

Changes in v3:
- Renamed "number of queue pairs" option from "--qps" to "--qp-nb",
  for more consistency

Changes in v2:

- Added support for multiple queue pairs
- Mempool for crypto operations and mbufs is now created
  using rte_mempool_create_empty(), rte_mempool_set_ops_byname(),
  rte_mempool_populate_default() and rte_mempool_obj_iter(),
  so mempool handler is set, as per Akhil's request.

Pablo de Lara (7):
  app/crypto-perf: set AAD after the crypto operation
  app/crypto-perf: parse AEAD data from vectors
  app/crypto-perf: parse segment size
  app/crypto-perf: overwrite mbuf when verifying
  app/crypto-perf: do not populate the mbufs at init
  app/crypto-perf: support multiple queue pairs
  app/crypto-perf: use single mempool

 app/test-crypto-perf/cperf_ops.c                 | 136 ++++++--
 app/test-crypto-perf/cperf_ops.h                 |   2 +-
 app/test-crypto-perf/cperf_options.h             |   6 +-
 app/test-crypto-perf/cperf_options_parsing.c     |  67 +++-
 app/test-crypto-perf/cperf_test_latency.c        | 380 +++++++++++----------
 app/test-crypto-perf/cperf_test_pmd_cyclecount.c | 382 +++++++++++-----------
 app/test-crypto-perf/cperf_test_throughput.c     | 378 +++++++++++----------
 app/test-crypto-perf/cperf_test_vector_parsing.c |  55 ++++
 app/test-crypto-perf/cperf_test_verify.c         | 399 ++++++++++++-----------
 app/test-crypto-perf/main.c                      |  56 ++--
 doc/guides/tools/cryptoperf.rst                  |  10 +-
 11 files changed, 1031 insertions(+), 840 deletions(-)


More information about the dev mailing list