#
bf9d6702 |
| 04-Oct-2017 |
Pablo de Lara <pablo.de.lara.guarch@intel.com> |
app/crypto-perf: use single mempool
In order to improve memory utilization, a single mempool is created, containing the crypto operation and mbufs (one if operation is in-place, two if out-of-place)
app/crypto-perf: use single mempool
In order to improve memory utilization, a single mempool is created, containing the crypto operation and mbufs (one if operation is in-place, two if out-of-place). This way, a single object is allocated and freed per operation, reducing the amount of memory in cache, which improves scalability.
Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com> Acked-by: Akhil Goyal <akhil.goyal@nxp.com>
show more ...
|
#
c4f916e3 |
| 04-Oct-2017 |
Pablo de Lara <pablo.de.lara.guarch@intel.com> |
app/crypto-perf: support multiple queue pairs
Add support for multiple queue pairs, when there are more logical cores available than crypto devices enabled. For instance, if there are 4 cores availa
app/crypto-perf: support multiple queue pairs
Add support for multiple queue pairs, when there are more logical cores available than crypto devices enabled. For instance, if there are 4 cores available and 2 crypto devices, each device will have two queue pairs.
This is useful to have multiple logical cores using a single crypto device, without needing to initialize a crypto device per core.
Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com> Acked-by: Akhil Goyal <akhil.goyal@nxp.com>
show more ...
|
#
083de3eb |
| 04-Oct-2017 |
Pablo de Lara <pablo.de.lara.guarch@intel.com> |
app/crypto-perf: parse segment size
Instead of parsing number of segments, from the command line, parse segment size, as it is a more usual case to have the segment size fixed and then different pac
app/crypto-perf: parse segment size
Instead of parsing number of segments, from the command line, parse segment size, as it is a more usual case to have the segment size fixed and then different packet sizes will require different number of segments.
Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com> Acked-by: Akhil Goyal <akhil.goyal@nxp.com>
show more ...
|
#
253624f4 |
| 04-Oct-2017 |
Pablo de Lara <pablo.de.lara.guarch@intel.com> |
app/crypto-perf: refactor common test code
Currently, there is some duplication in all the test types, in the crypto performance application.
In order to improve maintainability of this code, and e
app/crypto-perf: refactor common test code
Currently, there is some duplication in all the test types, in the crypto performance application.
In order to improve maintainability of this code, and ease future work on it, common functions have been separated in a different file that gets included in all the tests.
Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com> Acked-by: Akhil Goyal <akhil.goyal@nxp.com>
show more ...
|
#
b27074cc |
| 01-Aug-2017 |
Pablo de Lara <pablo.de.lara.guarch@intel.com> |
app/crypto-perf: fix IV allocation for AEAD
Memory is reserved after each crypto operation for the necessary IV(s), which could be for cipher, authentication or AEAD algorithms. However, for AEAD al
app/crypto-perf: fix IV allocation for AEAD
Memory is reserved after each crypto operation for the necessary IV(s), which could be for cipher, authentication or AEAD algorithms. However, for AEAD algorithms (such as AES-GCM), this memory was not being reserved, leading to potential memory overflow.
Fixes: 8a5b494a7f99 ("app/test-crypto-perf: add AEAD parameters")
Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
show more ...
|
#
49ff67d0 |
| 27-Jul-2017 |
Pablo de Lara <pablo.de.lara.guarch@intel.com> |
app/crypto-perf: fix CSV output
When using CSV, the output of the throughput performance numbers was not correct, representing decimal numbers incorrectly.
Fixes: f8be1786b1b8 ("app/crypto-perf: in
app/crypto-perf: fix CSV output
When using CSV, the output of the throughput performance numbers was not correct, representing decimal numbers incorrectly.
Fixes: f8be1786b1b8 ("app/crypto-perf: introduce performance test application") Cc: stable@dpdk.org
Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
show more ...
|
#
15b4beab |
| 28-Jul-2017 |
Pablo de Lara <pablo.de.lara.guarch@intel.com> |
app/crypto-perf: add pool size error message
If the crypto operation pool size is too small, the pool might run out of operations, if all the crypto operations are still being used and have not been
app/crypto-perf: add pool size error message
If the crypto operation pool size is too small, the pool might run out of operations, if all the crypto operations are still being used and have not been freed. To inform the user about this, the application should display an error message, asking the user to increase the pool size through the app parameters.
Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
show more ...
|
#
9189644f |
| 14-Jun-2017 |
Kirill Rybalchenko <kirill.rybalchenko@intel.com> |
app/crypto-perf: stop crypto devices after test
Call of rte_cryptodev_stop() function from test destructors is added.
Fixes: f8be1786b1b8 ("app/crypto-perf: introduce performance test application")
app/crypto-perf: stop crypto devices after test
Call of rte_cryptodev_stop() function from test destructors is added.
Fixes: f8be1786b1b8 ("app/crypto-perf: introduce performance test application") Cc: stable@dpdk.org
Signed-off-by: Kirill Rybalchenko <kirill.rybalchenko@intel.com> Acked-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
show more ...
|
#
b3bbd9e5 |
| 05-Jul-2017 |
Slawomir Mrozowicz <slawomirx.mrozowicz@intel.com> |
cryptodev: support device independent sessions
Change crypto device's session management to make it device independent and simplify architecture when session is intended to be used on more than one
cryptodev: support device independent sessions
Change crypto device's session management to make it device independent and simplify architecture when session is intended to be used on more than one device.
Sessions private data is agnostic to underlying device by adding an indirection in the sessions private data using the crypto driver identifier. A single session can contain indirections to multiple device types.
New function rte_cryptodev_sym_session_init has been created, to initialize the driver private session data per driver to be used on a same session, and rte_cryptodev_sym_session_clear to clear this data before calling rte_cryptodev_sym_session_free.
Signed-off-by: Slawomir Mrozowicz <slawomirx.mrozowicz@intel.com> Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com> Acked-by: Declan Doherty <declan.doherty@intel.com> Acked-by: Akhil Goyal <akhil.goyal@nxp.com>
show more ...
|
#
8a5b494a |
| 02-Jul-2017 |
Pablo de Lara <pablo.de.lara.guarch@intel.com> |
app/test-crypto-perf: add AEAD parameters
Since there is a new operation type (AEAD), add parameters for this in the application.
Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com> Acked
app/test-crypto-perf: add AEAD parameters
Since there is a new operation type (AEAD), add parameters for this in the application.
Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com> Acked-by: Declan Doherty <declan.doherty@intel.com> Acked-by: Akhil Goyal <akhil.goyal@nxp.com> Acked-by: Fiona Trahe <fiona.trahe@intel.com>
show more ...
|
#
acf86169 |
| 02-Jul-2017 |
Pablo de Lara <pablo.de.lara.guarch@intel.com> |
cryptodev: add auth IV
Authentication algorithms, such as AES-GMAC or the wireless algorithms (like SNOW3G) use IV, like cipher algorithms. So far, AES-GMAC has used the IV from the cipher structure
cryptodev: add auth IV
Authentication algorithms, such as AES-GMAC or the wireless algorithms (like SNOW3G) use IV, like cipher algorithms. So far, AES-GMAC has used the IV from the cipher structure, and the wireless algorithms have used the AAD field, which is not technically correct.
Therefore, authentication IV parameters have been added, so API is more correct. Like cipher IV, auth IV is expected to be copied after the crypto operation.
Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com> Acked-by: Declan Doherty <declan.doherty@intel.com> Acked-by: Akhil Goyal <akhil.goyal@nxp.com> Acked-by: Fiona Trahe <fiona.trahe@intel.com>
show more ...
|
#
0fbd75a9 |
| 02-Jul-2017 |
Pablo de Lara <pablo.de.lara.guarch@intel.com> |
cryptodev: move IV parameters to session
Since IV parameters (offset and length) should not change for operations in the same session, these parameters are moved to the crypto transform structure, s
cryptodev: move IV parameters to session
Since IV parameters (offset and length) should not change for operations in the same session, these parameters are moved to the crypto transform structure, so they will be stored in the sessions.
Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com> Acked-by: Declan Doherty <declan.doherty@intel.com> Acked-by: Akhil Goyal <akhil.goyal@nxp.com> Acked-by: Fiona Trahe <fiona.trahe@intel.com>
show more ...
|
#
f8b7fdd3 |
| 02-Jul-2017 |
Pablo de Lara <pablo.de.lara.guarch@intel.com> |
app/crypto-perf: move IV to crypto op private data
Usually, IV will change for each crypto operation. Therefore, instead of pointing at the same location, IV is copied after each crypto operation.
app/crypto-perf: move IV to crypto op private data
Usually, IV will change for each crypto operation. Therefore, instead of pointing at the same location, IV is copied after each crypto operation.
This will let the IV to be passed as an offset from the beginning of the crypto operation, instead of a pointer.
Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com> Acked-by: Declan Doherty <declan.doherty@intel.com> Acked-by: Akhil Goyal <akhil.goyal@nxp.com> Acked-by: Fiona Trahe <fiona.trahe@intel.com>
show more ...
|
#
08a97874 |
| 30-Jun-2017 |
Sergio Gonzalez Monroy <sergio.gonzalez.monroy@intel.com> |
app/crypto-perf: set crypto op pool cache
Signed-off-by: Sergio Gonzalez Monroy <sergio.gonzalez.monroy@intel.com> Acked-by: Fiona Trahe <fiona.trahe@intel.com>
|
#
15b55dd7 |
| 30-Jun-2017 |
Sergio Gonzalez Monroy <sergio.gonzalez.monroy@intel.com> |
app/crypto-perf: return crypto ops to mempool in bulk
Use rte_mempool_put_bulk for both latency and throughput tests instead of rte_crypto_op_free to improve application performance.
Signed-off-by:
app/crypto-perf: return crypto ops to mempool in bulk
Use rte_mempool_put_bulk for both latency and throughput tests instead of rte_crypto_op_free to improve application performance.
Signed-off-by: Sergio Gonzalez Monroy <sergio.gonzalez.monroy@intel.com> Acked-by: Fiona Trahe <fiona.trahe@intel.com>
show more ...
|
#
44e2980b |
| 18-Apr-2017 |
Fan Zhang <roy.fan.zhang@intel.com> |
app/crypto-perf: fix crypto operation resubmission
This patch fixes the crypto operation resubmission problem in crypto perferformance test. Originally, when needed crypto ops amount is smaller than
app/crypto-perf: fix crypto operation resubmission
This patch fixes the crypto operation resubmission problem in crypto perferformance test. Originally, when needed crypto ops amount is smaller than the enqueued crypto ops in the last round, one or more processed crypto operations will be re-enqueued.
Fixes: f8be1786b1b8 ("app/crypto-perf: introduce performance test application") Cc: stable@dpdk.org
Signed-off-by: Fan Zhang <roy.fan.zhang@intel.com> Acked-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
show more ...
|
#
f6cefe25 |
| 27-Mar-2017 |
Pablo de Lara <pablo.de.lara.guarch@intel.com> |
app/crypto-perf: add range/list of sizes
So far, the crypto performance application was only able to test one buffer size and one burst size.
With this commit, multiple sizes can be passed, either
app/crypto-perf: add range/list of sizes
So far, the crypto performance application was only able to test one buffer size and one burst size.
With this commit, multiple sizes can be passed, either as a range of values or as a list of values.
Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com> Acked-by: Sergio Gonzalez Monroy <sergio.gonzalez.monroy@intel.com>
show more ...
|
#
da40ebd6 |
| 27-Mar-2017 |
Pablo de Lara <pablo.de.lara.guarch@intel.com> |
app/crypto-perf: display results in test runner
Instead of printing the test results in the destructor function, print them just after each run. This will be useful for after the commit that allows
app/crypto-perf: display results in test runner
Instead of printing the test results in the destructor function, print them just after each run. This will be useful for after the commit that allows a range of buffer and burst sizes.
Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com> Acked-by: Sergio Gonzalez Monroy <sergio.gonzalez.monroy@intel.com>
show more ...
|
#
b2085cce |
| 27-Mar-2017 |
Pablo de Lara <pablo.de.lara.guarch@intel.com> |
app/crypto-perf: do not append digest if not used
When testing cipher only operations, there is no need to append digest at the end of the buffer.
Signed-off-by: Pablo de Lara <pablo.de.lara.guarch
app/crypto-perf: do not append digest if not used
When testing cipher only operations, there is no need to append digest at the end of the buffer.
Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com> Acked-by: Sergio Gonzalez Monroy <sergio.gonzalez.monroy@intel.com>
show more ...
|
#
df52cb3b |
| 27-Mar-2017 |
Sergio Gonzalez Monroy <sergio.gonzalez.monroy@intel.com> |
app/crypto-perf: move verify as single test type
In order to simplify throughput and latency tests, verify option has been removed from these and moved as a separate test.
Signed-off-by: Sergio Gon
app/crypto-perf: move verify as single test type
In order to simplify throughput and latency tests, verify option has been removed from these and moved as a separate test.
Signed-off-by: Sergio Gonzalez Monroy <sergio.gonzalez.monroy@intel.com> Acked-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
show more ...
|
#
f8be1786 |
| 25-Jan-2017 |
Slawomir Mrozowicz <slawomirx.mrozowicz@intel.com> |
app/crypto-perf: introduce performance test application
This patchset introduce new application which allows measuring performance parameters of PMDs available in crypto tree. The goal of this appli
app/crypto-perf: introduce 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 <declan.doherty@intel.com> Signed-off-by: Slawomir Mrozowicz <slawomirx.mrozowicz@intel.com> Signed-off-by: Piotr Azarewicz <piotrx.t.azarewicz@intel.com> Signed-off-by: Marcin Kerlin <marcinx.kerlin@intel.com> Signed-off-by: Michal Kobylinski <michalx.kobylinski@intel.com>
show more ...
|