[dpdk-dev] [PATCH 0/4] New crypto acceleration benchmark mode

Anatoly Burakov anatoly.burakov at intel.com
Thu Aug 24 12:48:02 CEST 2017


From: "Burakov, Anatoly" <anatoly.burakov at intel.com>

This patchset adds a new "PMD cyclecount" test mode for test-crypto-perf
application. This mode is intended to measure hardware acceleration
cost (in terms of cycle count) more accurately than throughput test.

The general idea is the following:
- Measure build-alloc-free cycle separately
- Alloc and build ops
- Measure completely filling up the TX ring
- Wait until ops are processed
- Measure completely draining the RX ring
- Free all allocated ops

In order to make measurements more accurate, the enqueue/dequeue is
still done in bursts of specified size, but all of the bursts are now
part of a "superburst" of size equal to number of descriptors
configured for the device. So, if the number of descriptors configured
was 2048 (the default), then 2048 ops will be enqueued and dequeued,
in bursts of size specified by test command line.

The following command-line switch will run the test:
  --ptest=pmd-cyclecount

In addition to a new mode, two mode command line switches are added:
- --desc-nb - configure number of cryptodev descriptors. This value was
         previously hardcoded to 2048, but is now configurable and set
         to 2048 by default (so existing behavior is unchanged).
- --pmd-cyclecount-delay-ms - pmd-cyclecount-specific parameter that
         configures the delay (in milliseconds) between TX and RX
         superbursts, to allow hardware to process ops. Set to 0 by
         default, and it is expected that each user will tune it for
         every device. This has no effect on other benchmark modes.

PMD cyclecount mode can be used to benchmark software cryptodev drivers
as well, but the results will be far less accurate for smaller burst
sizes.

Anatoly Burakov (4):
  test-crypto-perf: add nb-desc parameter
  doc: document new nb-desc parameter for test-crypto-perf app
  test-crypto-perf: add new PMD benchmarking mode
  doc: document new pmd-cyclecount benchmarking mode in test-crypto-perf

 app/test-crypto-perf/Makefile                    |   1 +
 app/test-crypto-perf/cperf_options.h             |  11 +-
 app/test-crypto-perf/cperf_options_parsing.c     |  54 ++
 app/test-crypto-perf/cperf_test_pmd_cyclecount.c | 707 +++++++++++++++++++++++
 app/test-crypto-perf/cperf_test_pmd_cyclecount.h |  61 ++
 app/test-crypto-perf/main.c                      |  11 +-
 doc/guides/rel_notes/release_17_11.rst           |   6 +
 doc/guides/tools/cryptoperf.rst                  |  14 +-
 8 files changed, 861 insertions(+), 4 deletions(-)
 create mode 100644 app/test-crypto-perf/cperf_test_pmd_cyclecount.c
 create mode 100644 app/test-crypto-perf/cperf_test_pmd_cyclecount.h

-- 
2.7.4



More information about the dev mailing list