From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by dpdk.org (Postfix) with ESMTP id 2ED93689B for ; Fri, 2 Dec 2016 16:15:39 +0100 (CET) Received: from orsmga002.jf.intel.com ([10.7.209.21]) by orsmga102.jf.intel.com with ESMTP; 02 Dec 2016 07:15:37 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.33,287,1477983600"; d="scan'208";a="12695327" Received: from unknown (HELO Sent) ([10.103.102.73]) by orsmga002.jf.intel.com with SMTP; 02 Dec 2016 07:15:35 -0800 Received: by Sent (sSMTP sendmail emulation); Fri, 02 Dec 2016 16:15:13 +0100 From: Michal Jastrzebski To: dev@dpdk.org Cc: pablo.de.lara.guarch@intel.com Date: Fri, 2 Dec 2016 16:15:00 +0100 Message-Id: <1480691702-4600-1-git-send-email-michalx.k.jastrzebski@intel.com> X-Mailer: git-send-email 2.7.0 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Subject: [dpdk-dev] [PATCH 0/2] Introduce new performance test application X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 02 Dec 2016 15:15:41 -0000 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