#
76a48d8a |
| 18-Jun-2024 |
Jack Bond-Preston <jack.bond-preston@foss.arm.com> |
app/crypto-perf: add shared session option
Add the option to create one session for the PMD, and share it across all of the queue pairs. This may help to discover/debug concurrency issues (both corr
app/crypto-perf: add shared session option
Add the option to create one session for the PMD, and share it across all of the queue pairs. This may help to discover/debug concurrency issues (both correctness and performance) that can occur when using this configuration.
Signed-off-by: Jack Bond-Preston <jack.bond-preston@foss.arm.com> Acked-by: Brian Dooley <brian.dooley@intel.com> Reviewed-by: Wathsala Vithanage <wathsala.vithanage@arm.com> Reviewed-by: Paul Szczepanek <paul.szczepanek@arm.com>
show more ...
|
#
b6a7e685 |
| 14-May-2024 |
Tyler Retzlaff <roretzla@linux.microsoft.com> |
app: use stdatomic API
Replace the use of gcc builtin __atomic_xxx intrinsics with corresponding rte_atomic_xxx optional rte stdatomic API.
Signed-off-by: Tyler Retzlaff <roretzla@linux.microsoft.c
app: use stdatomic API
Replace the use of gcc builtin __atomic_xxx intrinsics with corresponding rte_atomic_xxx optional rte stdatomic API.
Signed-off-by: Tyler Retzlaff <roretzla@linux.microsoft.com> Acked-by: Stephen Hemminger <stephen@networkplumber.org>
show more ...
|
#
79bdb787 |
| 20-Sep-2023 |
Akhil Goyal <gakhil@marvell.com> |
security: hide security context
rte_security_ctx is used by all security APIs to identify which device security_op it need to call and hence it should be opaque to the application. Hence, it is now
security: hide security context
rte_security_ctx is used by all security APIs to identify which device security_op it need to call and hence it should be opaque to the application. Hence, it is now moved to internal header file and all APIs will now take an opaque pointer for it. The fast path inline APIs like set metadata need to get flags from security_ctx. The flags are now retrieved using inline APIs which use macros to get the offset of flags in security_ctx.
Signed-off-by: Akhil Goyal <gakhil@marvell.com> Acked-by: Ciara Power <ciara.power@intel.com> Acked-by: Hemant Agrawal <hemant.agrawal@nxp.com>
show more ...
|
#
2973dbf9 |
| 04-Oct-2022 |
Akhil Goyal <gakhil@marvell.com> |
security: hide session structure
Structure rte_security_session is moved to internal headers which are not visible to applications. The only field which should be used by app is opaque_data. This fi
security: hide session structure
Structure rte_security_session is moved to internal headers which are not visible to applications. The only field which should be used by app is opaque_data. This field can now be accessed via set/get APIs added in this patch. Subsequent changes in app and lib are made to compile the code.
Signed-off-by: Akhil Goyal <gakhil@marvell.com> Tested-by: Gagandeep Singh <g.singh@nxp.com> Tested-by: David Coyle <david.coyle@intel.com> Tested-by: Kevin O'Sullivan <kevin.osullivan@intel.com>
show more ...
|
#
3f3fc330 |
| 04-Oct-2022 |
Akhil Goyal <gakhil@marvell.com> |
security: remove private mempool usage
As per current design, rte_security_session_create() unnecessarily use 2 mempool objects for a single session.
To address this, the API will now take only 1 m
security: remove private mempool usage
As per current design, rte_security_session_create() unnecessarily use 2 mempool objects for a single session.
To address this, the API will now take only 1 mempool object instead of 2. With this change, the library layer will get the object from mempool and session priv data is stored contiguously in the same mempool object.
User need to ensure that the mempool created in application is big enough for session private data as well. This can be ensured if the pool is created after getting size of session priv data using API rte_security_session_get_size().
Since set and get pkt metadata for security sessions are now made inline for Inline crypto/proto mode, a new member fast_mdata is added to the rte_security_session. To access opaque data and fast_mdata will be accessed via inline APIs which can do pointer manipulations inside library from session_private_data pointer coming from application.
Signed-off-by: Akhil Goyal <gakhil@marvell.com> Tested-by: Gagandeep Singh <g.singh@nxp.com> Tested-by: David Coyle <david.coyle@intel.com> Tested-by: Kevin O'Sullivan <kevin.osullivan@intel.com>
show more ...
|
#
2a440d6a |
| 04-Oct-2022 |
Akhil Goyal <gakhil@marvell.com> |
cryptodev: hide symmetric session structure
Structure rte_cryptodev_sym_session is moved to internal headers which are not visible to applications. The only field which should be used by app is opaq
cryptodev: hide symmetric session structure
Structure rte_cryptodev_sym_session is moved to internal headers which are not visible to applications. The only field which should be used by app is opaque_data. This field can now be accessed via set/get APIs added in this patch. Subsequent changes in app and lib are made to compile the code.
Signed-off-by: Akhil Goyal <gakhil@marvell.com> Signed-off-by: Fan Zhang <roy.fan.zhang@intel.com> Acked-by: Kai Ji <kai.ji@intel.com> Tested-by: Gagandeep Singh <g.singh@nxp.com> Tested-by: David Coyle <david.coyle@intel.com> Tested-by: Kevin O'Sullivan <kevin.osullivan@intel.com>
show more ...
|
#
bdce2564 |
| 04-Oct-2022 |
Akhil Goyal <gakhil@marvell.com> |
cryptodev: rework session framework
As per current design, rte_cryptodev_sym_session_create() and rte_cryptodev_sym_session_init() use separate mempool objects for a single session. And structure rt
cryptodev: rework session framework
As per current design, rte_cryptodev_sym_session_create() and rte_cryptodev_sym_session_init() use separate mempool objects for a single session. And structure rte_cryptodev_sym_session is not directly used by the application, it may cause ABI breakage if the structure is modified in future.
To address these two issues, the rte_cryptodev_sym_session_create will take one mempool object that the session and session private data are virtually/physically contiguous, and initializes both fields. The API rte_cryptodev_sym_session_init is removed.
rte_cryptodev_sym_session_create will now return an opaque session pointer which will be used by the app and other APIs.
In data path, opaque session pointer is attached to rte_crypto_op and the PMD can call an internal library API to get the session private data pointer based on the driver id.
Note: currently single session may be used by different device drivers, given it is initialized by them. After the change the session created by one device driver cannot be used or reinitialized by another driver.
Signed-off-by: Akhil Goyal <gakhil@marvell.com> Signed-off-by: Fan Zhang <roy.fan.zhang@intel.com> Signed-off-by: Ruifeng Wang <ruifeng.wang@arm.com> Acked-by: Kai Ji <kai.ji@intel.com> Tested-by: Gagandeep Singh <g.singh@nxp.com> Tested-by: David Coyle <david.coyle@intel.com> Tested-by: Kevin O'Sullivan <kevin.osullivan@intel.com>
show more ...
|
#
72b452c5 |
| 27-Aug-2022 |
Dmitry Kozlyuk <dmitry.kozliuk@gmail.com> |
eal: remove unneeded includes from a public header
Do not include <ctype.h>, <errno.h>, and <stdlib.h> from <rte_common.h>, because they are not used by this file. Include the needed headers directl
eal: remove unneeded includes from a public header
Do not include <ctype.h>, <errno.h>, and <stdlib.h> from <rte_common.h>, because they are not used by this file. Include the needed headers directly from the files that need them.
Signed-off-by: Dmitry Kozlyuk <dmitry.kozliuk@gmail.com> Acked-by: Bruce Richardson <bruce.richardson@intel.com>
show more ...
|
#
06c047b6 |
| 09-Feb-2022 |
Stephen Hemminger <stephen@networkplumber.org> |
remove unnecessary null checks
Functions like free, rte_free, and rte_mempool_free already handle NULL pointer so the checks here are not necessary.
Remove redundant NULL pointer checks before free
remove unnecessary null checks
Functions like free, rte_free, and rte_mempool_free already handle NULL pointer so the checks here are not necessary.
Remove redundant NULL pointer checks before free functions found by nullfree.cocci
Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
show more ...
|
#
7be78d02 |
| 29-Nov-2021 |
Josh Soref <jsoref@gmail.com> |
fix spelling in comments and strings
The tool comes from https://github.com/jsoref
Signed-off-by: Josh Soref <jsoref@gmail.com> Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
|
#
45f838d6 |
| 17-Nov-2021 |
Joyce Kong <joyce.kong@arm.com> |
app/crypto: use compiler atomic builtins for display sync
Convert rte_atomic_test_and_set usage to compiler atomic CAS operation for display sync in crypto cases.
Signed-off-by: Joyce Kong <joyce.k
app/crypto: use compiler atomic builtins for display sync
Convert rte_atomic_test_and_set usage to compiler atomic CAS operation for display sync in crypto cases.
Signed-off-by: Joyce Kong <joyce.kong@arm.com> Reviewed-by: Ruifeng Wang <ruifeng.wang@arm.com> Reviewed-by: Honnappa Nagarahalli <honnappa.nagarahalli@arm.com>
show more ...
|
#
28dde5da |
| 12-Oct-2021 |
Akhil Goyal <gakhil@marvell.com> |
app/crypto-perf: support lookaside IPsec
Added support for lookaside IPsec protocol offload. Supported cases: -AEAD -Cipher+auth
Command used for testing: ./dpdk-test-crypto-perf -c 0xf -- --devtyp
app/crypto-perf: support lookaside IPsec
Added support for lookaside IPsec protocol offload. Supported cases: -AEAD -Cipher+auth
Command used for testing: ./dpdk-test-crypto-perf -c 0xf -- --devtype crypto_octeontx2 --ptest throughput --optype ipsec --cipher-algo aes-cbc --pool-sz 16384 --cipher-op encrypt --cipher-key-sz 16 --cipher-iv-sz 16 --auth-algo sha1-hmac --auth-op generate --digest-sz 16 --total-ops 10000000 --burst-sz 32 --buffer-sz 64,128,256,512,1024,1280,2048
./dpdk-test-crypto-perf -c 0xf -- --devtype crypto_octeontx2 --ptest throughput --optype ipsec --aead-algo aes-gcm --pool-sz 16384 --aead-op encrypt --aead-key-sz 32 --aead-iv-sz 12 --aead-aad-sz 16 --digest-sz 16 --total-ops 10000000 --burst-sz 32 --buffer-sz 64,128,256,512,1024,1280,2048
Signed-off-by: Akhil Goyal <gakhil@marvell.com> Signed-off-by: Archana Muniganti <marchana@marvell.com>
show more ...
|
#
c6ddab87 |
| 20-Jan-2021 |
Ciara Power <ciara.power@intel.com> |
app/crypto-perf: fix CSV output format
The csv output for each ptest type used ";" instead of ",". This has now been fixed to use the comma format that is used in the csv headers.
Fixes: f6cefe253c
app/crypto-perf: fix CSV output format
The csv output for each ptest type used ";" instead of ",". This has now been fixed to use the comma format that is used in the csv headers.
Fixes: f6cefe253cc8 ("app/crypto-perf: add range/list of sizes") Fixes: 96dfeb609be1 ("app/crypto-perf: add new PMD benchmarking mode") Fixes: da40ebd6d383 ("app/crypto-perf: display results in test runner") Cc: stable@dpdk.org
Signed-off-by: Ciara Power <ciara.power@intel.com> Acked-by: Declan Doherty <declan.doherty@intel.com> Acked-by: Adam Dybkowski <adamx.dybkowski@intel.com>
show more ...
|
#
a8d0d473 |
| 15-Oct-2020 |
Bruce Richardson <bruce.richardson@intel.com> |
build: replace use of old build macros
Use the newer macros defined by meson in all DPDK source code, to ensure there are no errors when the old non-standard macros are removed.
Signed-off-by: Bruc
build: replace use of old build macros
Use the newer macros defined by meson in all DPDK source code, to ensure there are no errors when the old non-standard macros are removed.
Signed-off-by: Bruce Richardson <bruce.richardson@intel.com> Acked-by: Luca Boccassi <bluca@debian.org> Acked-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru> Acked-by: Rosen Xu <rosen.xu@intel.com> Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
show more ...
|
#
25d5c40f |
| 21-Jul-2020 |
David Coyle <david.coyle@intel.com> |
app/crypto-perf: support security protocol in PMDCC mode
This patch adds support for DOCSIS and PDCP security protocols to the pmd-cyclecount mode of the crypto performance tool. Adding this support
app/crypto-perf: support security protocol in PMDCC mode
This patch adds support for DOCSIS and PDCP security protocols to the pmd-cyclecount mode of the crypto performance tool. Adding this support involves freeing the correct session type (i.e. security or cryptodev session) when the test ends, depending on the op_type specified.
Signed-off-by: David Coyle <david.coyle@intel.com> Acked-by: Akhil Goyal <akhil.goyal@nxp.com>
show more ...
|
#
90e03347 |
| 14-Jun-2019 |
Tomasz Jozwiak <tjozwiakgm@gmail.com> |
app/crypto-perf: fix display once detection
This patch changes 'only_once' variable to 'display_once', which should be atomic type due to fact, that all runner functions can be executed in paraller
app/crypto-perf: fix display once detection
This patch changes 'only_once' variable to 'display_once', which should be atomic type due to fact, that all runner functions can be executed in paraller way on different lcores.
Fixes: df52cb3b6e13 ("app/crypto-perf: move verify as single test type") Cc: stable@dpdk.org
Signed-off-by: Tomasz Jozwiak <tjozwiakgm@gmail.com> Acked-by: Akhil Goyal <akhil.goyal@nxp.com>
show more ...
|
#
b29185bc |
| 29-May-2019 |
Ankur Dwivedi <adwivedi@marvell.com> |
app/crypto-perf: fix CSV format
The format for printing float is incorrect for the following fields in pmd-cyclecount test: Cycles/Op,Cycles/Enq,Cycles/Deq.
Currently, the format is %.f3. This form
app/crypto-perf: fix CSV format
The format for printing float is incorrect for the following fields in pmd-cyclecount test: Cycles/Op,Cycles/Enq,Cycles/Deq.
Currently, the format is %.f3. This format will round off the number to the nearest integer and append a 3 after that.
This patch changes the format to %.3f. This will print the number as a floating point with a precision of 3 fractional digits.
Fixes: 96dfeb609be1 ("app/crypto-perf: add new PMD benchmarking mode") Cc: stable@dpdk.org
Signed-off-by: Ankur Dwivedi <adwivedi@marvell.com> Signed-off-by: Anoob Joseph <anoobj@marvell.com>
show more ...
|
#
d4ad392c |
| 10-Jan-2019 |
Fan Zhang <roy.fan.zhang@intel.com> |
app/crypto-perf: use separate session mempools
This patch uses the two session mempool approach to crypto perf application. One mempool is for session header objects, and the other is for session pr
app/crypto-perf: use separate session mempools
This patch uses the two session mempool approach to crypto perf application. One mempool is for session header objects, and the other is for session private data.
Signed-off-by: Fan Zhang <roy.fan.zhang@intel.com> Acked-by: Fiona Trahe <fiona.trahe@intel.com> Acked-by: Akhil Goyal <akhil.goyal@nxp.com>
show more ...
|
#
3356083a |
| 26-Apr-2018 |
Tomasz Jozwiak <tomaszx.jozwiak@intel.com> |
app/crypto-perf: fix burst size calculation
This patch fixes segmentation fault in pmd_cyclecount_bench_ops function in case when state->opts->nb_descriptors is not natural multiple of burst size. T
app/crypto-perf: fix burst size calculation
This patch fixes segmentation fault in pmd_cyclecount_bench_ops function in case when state->opts->nb_descriptors is not natural multiple of burst size. To reproduce run: dpdk-test-crypto-perf with params: --ptest pmd-cyclecount --pmd-cyclecount-delay-ms 5 \ --devtype crypto_qat --optype cipher-then-auth \ --cipher-algo aes-cbc --cipher-op encrypt \ --cipher-key-sz 16 --cipher-iv-sz 16 \ --auth-algo sha2-256-hmac \ --auth-op generate --auth-key-sz 64 --digest-sz 32 \ --total-ops 10000 --burst-sz 255 --buffer-sz 1024 --silent
Fixes: 96dfeb609be1 ("app/crypto-perf: add new PMD benchmarking mode") Cc: stable@dpdk.org
Signed-off-by: Tomasz Jozwiak <tomaszx.jozwiak@intel.com> Acked-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
show more ...
|
#
27c2e747 |
| 13-Dec-2017 |
Pablo de Lara <pablo.de.lara.guarch@intel.com> |
app/crypto-perf: support IMIX
Add support for IMIX performance tests, where a distribution of various packet sizes can be submitted to a crypto device, testing a closer to a real world scenario.
A
app/crypto-perf: support IMIX
Add support for IMIX performance tests, where a distribution of various packet sizes can be submitted to a crypto device, testing a closer to a real world scenario.
A sequence of packet sizes, selected randomly from a list of packet sizes (with "buffer-sz" parameter) with a list of the weights per packet size (using "imix" parameter), is generated (the length of this sequence is the same length as the pool, set with "pool-sz" parameter).
This sequence is used repeteadly for all the crypto operations submitted to the crypto device (with "--total-ops" parameter).
Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com> Acked-by: Fan Zhang <roy.fan.zhang@intel.com>
show more ...
|
#
8f87ba70 |
| 15-Dec-2017 |
Thierry Herbelot <thierry.herbelot@6wind.com> |
fix typos
Repeated occurrences of 'the'.
The change was obtained using the following command:
sed -i "s;the the ;the ;" `git grep -l "the "`
Signed-off-by: Thierry Herbelot <thierry.herbelot@6w
fix typos
Repeated occurrences of 'the'.
The change was obtained using the following command:
sed -i "s;the the ;the ;" `git grep -l "the "`
Signed-off-by: Thierry Herbelot <thierry.herbelot@6wind.com>
show more ...
|
#
174a1631 |
| 19-Dec-2017 |
Bruce Richardson <bruce.richardson@intel.com> |
app: use SPDX tag for Intel copyright files
Replace the BSD license header with the SPDX tag for files with only an Intel copyright on them.
Signed-off-by: Bruce Richardson <bruce.richardson@intel.
app: use SPDX tag for Intel copyright files
Replace the BSD license header with the SPDX tag for files with only an Intel copyright on them.
Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
show more ...
|
#
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 ...
|