From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) by dpdk.org (Postfix) with ESMTP id 911A920F for ; Tue, 10 Jan 2017 08:28:04 +0100 (CET) Received: from fmsmga006.fm.intel.com ([10.253.24.20]) by fmsmga105.fm.intel.com with ESMTP; 09 Jan 2017 23:28:03 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.33,342,1477983600"; d="scan'208";a="52050904" Received: from irsmsx151.ger.corp.intel.com ([163.33.192.59]) by fmsmga006.fm.intel.com with ESMTP; 09 Jan 2017 23:28:02 -0800 Received: from irsmsx103.ger.corp.intel.com ([169.254.3.77]) by IRSMSX151.ger.corp.intel.com ([169.254.4.20]) with mapi id 14.03.0248.002; Tue, 10 Jan 2017 07:28:02 +0000 From: "Mrozowicz, SlawomirX" To: "De Lara Guarch, Pablo" , "dev@dpdk.org" CC: "Doherty, Declan" , "Azarewicz, PiotrX T" , "Kerlin, Marcin" , "Kobylinski, MichalX" Thread-Topic: [dpdk-dev] [PATCH v2 3/3] app/crypto-perf: introduce new performance test application Thread-Index: AQHSaofa5+P5sIpSTkqMus3Nbhm2+aExUGHg Date: Tue, 10 Jan 2017 07:28:01 +0000 Message-ID: <158888A50F43E34AAE179517F56C974564C846@IRSMSX103.ger.corp.intel.com> References: <1480691702-4600-1-git-send-email-michalx.k.jastrzebski@intel.com> <1483635001-15473-1-git-send-email-slawomirx.mrozowicz@intel.com> <1483635001-15473-4-git-send-email-slawomirx.mrozowicz@intel.com> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [163.33.239.181] Content-Type: text/plain; charset="iso-8859-2" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Subject: Re: [dpdk-dev] [PATCH v2 3/3] app/crypto-perf: 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: Tue, 10 Jan 2017 07:28:05 -0000 >-----Original Message----- >From: De Lara Guarch, Pablo >Sent: Monday, January 9, 2017 3:51 PM >To: Mrozowicz, SlawomirX ; >dev@dpdk.org >Cc: Mrozowicz, SlawomirX ; Doherty, >Declan ; Azarewicz, PiotrX T >; Kerlin, Marcin ; >Kobylinski, MichalX >Subject: RE: [dpdk-dev] [PATCH v2 3/3] app/crypto-perf: introduce new >performance test application > > > >> -----Original Message----- >> From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Slawomir >> Mrozowicz >> Sent: Thursday, January 05, 2017 4:50 PM >> To: dev@dpdk.org >> Cc: Mrozowicz, SlawomirX; Doherty, Declan; Azarewicz, PiotrX T; >> Kerlin, Marcin; Kobylinski, MichalX >> Subject: [dpdk-dev] [PATCH v2 3/3] app/crypto-perf: introduce new >> performance test application >> >> 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 >> >> Signed-off-by: Declan Doherty >> Signed-off-by: Slawomir Mrozowicz >> Signed-off-by: Piotr Azarewicz >> Signed-off-by: Marcin Kerlin >> Signed-off-by: Michal Kobylinski >> --- >> MAINTAINERS | 4 + >> app/Makefile | 1 + >> app/crypto-perf/Makefile | 51 ++ >> app/crypto-perf/cperf.h | 58 ++ >> app/crypto-perf/cperf_ops.c | 474 +++++++++++++++ >> app/crypto-perf/cperf_ops.h | 66 +++ >> app/crypto-perf/cperf_options.h | 104 ++++ >> app/crypto-perf/cperf_options_parsing.c | 875 >> ++++++++++++++++++++++++++++ >> app/crypto-perf/cperf_test_latency.c | 685 >> ++++++++++++++++++++++ >> app/crypto-perf/cperf_test_latency.h | 57 ++ >> app/crypto-perf/cperf_test_throughput.c | 651 >> +++++++++++++++++++++ >> app/crypto-perf/cperf_test_throughput.h | 58 ++ >> app/crypto-perf/cperf_test_vector_parsing.c | 500 ++++++++++++++++ >> app/crypto-perf/cperf_test_vector_parsing.h | 73 +++ >> app/crypto-perf/cperf_test_vectors.c | 476 +++++++++++++++ >> app/crypto-perf/cperf_test_vectors.h | 98 ++++ >> app/crypto-perf/cperf_verify_parser.c | 314 ++++++++++ >> app/crypto-perf/data/aes_cbc_128_sha.data | 503 ++++++++++++++++ >> app/crypto-perf/data/aes_cbc_192_sha.data | 504 ++++++++++++++++ >> app/crypto-perf/data/aes_cbc_256_sha.data | 504 ++++++++++++++++ >> app/crypto-perf/main.c | 411 +++++++++++++ >> config/common_base | 6 + >> doc/guides/rel_notes/release_17_02.rst | 5 + >> doc/guides/tools/cryptoperf.rst | 397 +++++++++++++ >> doc/guides/tools/index.rst | 1 + >> 25 files changed, 6876 insertions(+) > >... > >> diff --git a/app/crypto-perf/cperf_options_parsing.c b/app/crypto- >> perf/cperf_options_parsing.c > >... > >> +int >> +cperf_options_check(struct cperf_options *options) { >> + if (options->segments_nb > options->buffer_sz) { >> + RTE_LOG(ERR, USER1, >> + "Segments number greater than buffer >> size.\n"); >> + return -EINVAL; >> + } > >... > >> + } else if (options->op_type =3D=3D CPERF_AEAD) { >> + if (!(options->cipher_op =3D=3D >> RTE_CRYPTO_CIPHER_OP_ENCRYPT && >> + options->auth_op =3D=3D >> + RTE_CRYPTO_AUTH_OP_GENERATE) || > >This logic is incorrect. This OR should be an AND. [S=B3awomir] Sure. You are right. I am changing it. > >> + !(options->cipher_op =3D=3D >> + RTE_CRYPTO_CIPHER_OP_DECRYPT && >> + options->auth_op =3D=3D >> + RTE_CRYPTO_AUTH_OP_VERIFY)) { >> + RTE_LOG(ERR, USER1, "Use together options: >> encrypt and" >> + " generate or decrypt and verify.\n"); >> + return -EINVAL; >> + } >> + } >> + >> + return 0; >> +} >