[dpdk-dev] [PATCH v4 0/8] Crypto-perf app improvements

Pablo de Lara pablo.de.lara.guarch at intel.com
Wed Oct 4 05:46:05 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 v4:
- Refactored test code, to minimize duplications
- Removed --qp-nb parameter. Now the number of queue pairs
  per device are calculated from the number of logical cores
  available and the number of crypto devices

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 (8):
  app/crypto-perf: refactor common test code
  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/Makefile                    |   5 +
 app/test-crypto-perf/cperf_ops.c                 | 136 ++++++++---
 app/test-crypto-perf/cperf_ops.h                 |   2 +-
 app/test-crypto-perf/cperf_options.h             |   5 +-
 app/test-crypto-perf/cperf_options_parsing.c     |  47 ++--
 app/test-crypto-perf/cperf_test_common.c         | 225 ++++++++++++++++++
 app/test-crypto-perf/cperf_test_common.h         |  52 +++++
 app/test-crypto-perf/cperf_test_latency.c        | 239 +++----------------
 app/test-crypto-perf/cperf_test_pmd_cyclecount.c | 239 ++++---------------
 app/test-crypto-perf/cperf_test_throughput.c     | 237 +++----------------
 app/test-crypto-perf/cperf_test_vector_parsing.c |  55 +++++
 app/test-crypto-perf/cperf_test_verify.c         | 278 ++++++-----------------
 app/test-crypto-perf/main.c                      | 100 +++++---
 doc/guides/tools/cryptoperf.rst                  |   6 +-
 14 files changed, 715 insertions(+), 911 deletions(-)
 create mode 100644 app/test-crypto-perf/cperf_test_common.c
 create mode 100644 app/test-crypto-perf/cperf_test_common.h


More information about the dev mailing list