[dpdk-dev] [PATCH 0/2] Introduce new performance test application

Michal Jastrzebski michalx.k.jastrzebski at intel.com
Fri Dec 2 16:15:00 CET 2016


This patchset introduce new application which allows measuring
performance parameters of PMDs available in crypto tree. The goal of
this application is to replace existing performance tests in app/test.
Parameters available are: throughput (--ptest throughput) and latency
(--ptest latency). User can use multiply cores to run tests on but only
one type of crypto PMD can be measured during single application
execution. Cipher parameters, type of device, type of operation and
chain mode have to be specified in the command line as application
parameters. These parameters are checked using device capabilities
structure.
Couple of new library functions in librte_cryptodev are introduced for
application use.
To build the application a CONFIG_RTE_APP_CRYPTO_PERF flag has to be set
(it is set by default).
Example of usage: -c 0xc0 --vdev crypto_aesni_mb_pmd -w 0000:00:00.0 --
--ptest throughput --devtype crypto_aesni_mb --optype cipher-then-auth
--cipher-algo aes-cbc --cipher-op encrypt --cipher-key-sz 16 --auth-algo
sha1-hmac --auth-op generate --auth-key-sz 64 --auth-digest-sz 12
--total-ops 10000000 --burst-sz 32 --buffer-sz 64

There are some work planned to be completed later in this release:
-	--nb-segments param – additional flag for measuring performance when
chained mbufs are processing in crypto device. “param” specify number of
mbuf segments.
-	--verify test_vectors_file – if user wants the cryptography
correctness to be verified, he needs to turn on “verify” flag and needs
to specify an input file with test_vectors.
-	Simplify application output to allow output to be easily
consumed by a script or copied into excel.
-	Create script to create algorithm performance matrix for PMDs.

Declan Doherty (2):
  lib/librte_cryptodev: functions for new performance test application
  app/crypto-perf: Introduce new performance test application

 app/Makefile                            |    1 +
 app/crypto-perf/Makefile                |   52 +++
 app/crypto-perf/cperf.h                 |   58 +++
 app/crypto-perf/cperf_ops.c             |  424 +++++++++++++++++++
 app/crypto-perf/cperf_ops.h             |   67 +++
 app/crypto-perf/cperf_options.h         |   95 +++++
 app/crypto-perf/cperf_options_parsing.c |  695 +++++++++++++++++++++++++++++++
 app/crypto-perf/cperf_test_latency.c    |  455 ++++++++++++++++++++
 app/crypto-perf/cperf_test_latency.h    |   57 +++
 app/crypto-perf/cperf_test_throughput.c |  433 +++++++++++++++++++
 app/crypto-perf/cperf_test_throughput.h |   58 +++
 app/crypto-perf/cperf_test_vectors.c    |  339 +++++++++++++++
 app/crypto-perf/cperf_test_vectors.h    |  110 +++++
 app/crypto-perf/cperf_vectors_all.c     |  238 +++++++++++
 app/crypto-perf/main.c                  |  291 +++++++++++++
 config/common_base                      |    6 +
 lib/librte_cryptodev/rte_crypto_sym.h   |   16 +
 lib/librte_cryptodev/rte_cryptodev.c    |  177 ++++++++
 lib/librte_cryptodev/rte_cryptodev.h    |  120 ++++--
 19 files changed, 3646 insertions(+), 46 deletions(-)
 create mode 100644 app/crypto-perf/Makefile
 create mode 100644 app/crypto-perf/cperf.h
 create mode 100644 app/crypto-perf/cperf_ops.c
 create mode 100644 app/crypto-perf/cperf_ops.h
 create mode 100644 app/crypto-perf/cperf_options.h
 create mode 100644 app/crypto-perf/cperf_options_parsing.c
 create mode 100644 app/crypto-perf/cperf_test_cyclecount.c
 create mode 100644 app/crypto-perf/cperf_test_latency.c
 create mode 100644 app/crypto-perf/cperf_test_latency.h
 create mode 100644 app/crypto-perf/cperf_test_throughput.c
 create mode 100644 app/crypto-perf/cperf_test_throughput.h
 create mode 100644 app/crypto-perf/cperf_test_vectors.c
 create mode 100644 app/crypto-perf/cperf_test_vectors.h
 create mode 100644 app/crypto-perf/cperf_vectors_all.c
 create mode 100644 app/crypto-perf/main.c

-- 
1.7.9.5



More information about the dev mailing list