> -----Original Message----- > From: De Lara Guarch, Pablo > Sent: Wednesday, October 4, 2017 4:46 AM > To: Doherty, Declan <declan.dohe...@intel.com>; akhil.go...@nxp.com > Cc: dev@dpdk.org; De Lara Guarch, Pablo > <pablo.de.lara.gua...@intel.com> > Subject: [PATCH v4 0/8] Crypto-perf app improvements > > 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 > > -- > 2.9.4
Applied to dpdk-next-crypto. Pablo