app/crypto-perf: add new PMD benchmarking mode
authorAnatoly Burakov <anatoly.burakov@intel.com>
Tue, 12 Sep 2017 09:36:26 +0000 (10:36 +0100)
committerPablo de Lara <pablo.de.lara.guarch@intel.com>
Thu, 12 Oct 2017 14:13:18 +0000 (15:13 +0100)
commit96dfeb609be100d74cdbf7fb2cc3c30b85879163
treefe5673c83e0b7797be49292ca564f4190e50183b
parentc36432166982e745ee79cbb00e54522138922bc6
app/crypto-perf: add new PMD benchmarking mode

This patch adds a new benchmarking mode, which is intended for
microbenchmarking individual parts of the cryptodev framework,
specifically crypto ops alloc-build-free, cryptodev PMD enqueue
and cryptodev PMD dequeue.

It works by first benchmarking crypto operation alloc-build-free
loop (no enqueues/dequeues happening), and then benchmarking
enqueue and dequeue separately, by first completely filling up the
TX queue, and then completely draining the RX queue.

Results are shown as cycle counts per alloc/build/free, PMD enqueue
and PMD dequeue.

One new test mode is added: "pmd-cyclecount"
  (called with --ptest=pmd-cyclecount)

New command-line argument is also added:
  --pmd-cyclecount-delay-ms: this is a pmd-cyclecount-specific parameter
      that controls the delay between enqueue and dequeue. This is
      useful for benchmarking hardware acceleration, as hardware may
      not be able to keep up with enqueued packets. This parameter
      can be increased if there are large amounts of dequeue
      retries.

Signed-off-by: Anatoly Burakov <anatoly.burakov@intel.com>
Reviewed-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
app/test-crypto-perf/Makefile
app/test-crypto-perf/cperf_options.h
app/test-crypto-perf/cperf_options_parsing.c
app/test-crypto-perf/cperf_test_pmd_cyclecount.c [new file with mode: 0644]
app/test-crypto-perf/cperf_test_pmd_cyclecount.h [new file with mode: 0644]
app/test-crypto-perf/main.c
doc/guides/rel_notes/release_17_11.rst
doc/guides/tools/cryptoperf.rst