aboutsummaryrefslogtreecommitdiff
path: root/test/performance
AgeCommit message (Collapse)Author
2023-08-09Merge ODP v1.42.0.0Matias Elo
Merge ODP linux-generic v1.42.0.0 into linux-dpdk. Signed-off-by: Matias Elo <matias.elo@nokia.com>
2023-07-10test: performance: crypto: use byte mode with all algorithmsJanne Peltonen
With new enough ODP API version use byte mode even with algorithms that support bit mode. With older API version do the range unit conversion as before. Signed-off-by: Janne Peltonen <janne.peltonen@nokia.com> Reviewed-by: Jere Leppänen <jere.leppanen@nokia.com> Reviewed-by: Anoob Joseph <anoobj@marvell.com>
2023-06-29Merge ODP v1.41.1.0Matias Elo
Merge ODP linux-generic v1.41.1.0 into linux-dpdk. Signed-off-by: Matias Elo <matias.elo@nokia.com>
2023-06-19test: stress: fix maybe-uninitialized error from gcc-13Matias Elo
Avoid invalid maybe-uninitialized error from GCC 13.1, when ODP is configured with debug mode enabled. Signed-off-by: Matias Elo <matias.elo@nokia.com> Reviewed-by: Petri Savolainen <petri.savolainen@nokia.com> Reported-by: Carl Wallen <carl.wallen@nokia.com>
2023-06-13test: ipsecfwd: update CFLAGS with libconfigAnoob Joseph
Update CFLAGS with libconfig CFLAGS. The app has dependency on libconfig and CFLAGS should be updated. Fixes: 249739742fcf ("test: ipsecfwd: utilize libconfig") Signed-off-by: Anoob Joseph <anoobj@marvell.com> Reviewed-by: Tuomas Taipale <tuomas.taipale@nokia.com>
2023-06-08test: timer: use new timer cancel return valuesPetri Savolainen
Updated timer tests to use new return values of odp_timer_cancel(). Signed-off-by: Petri Savolainen <petri.savolainen@nokia.com> Reviewed-by: Jere Leppänen <jere.leppanen@nokia.com> Reviewed-by: Pavan Nikhilesh <pbhagavatula@marvell.com>
2023-06-08test: timer: use timer_retval_t instead of timer_set_tPetri Savolainen
Update test applications to use odp_timer_retval_t instead of odp_timer_set_t, which will be deprecated later. Signed-off-by: Petri Savolainen <petri.savolainen@nokia.com> Reviewed-by: Jere Leppänen <jere.leppanen@nokia.com> Reviewed-by: Pavan Nikhilesh <pbhagavatula@marvell.com>
2023-05-30test: ipsecfwd: utilize ODP helper optionsTuomas Taipale
Utilize `mem_model` from ODP helper options so that tester can also be configured to use process mode. Signed-off-by: Tuomas Taipale <tuomas.taipale@nokia.com> Reviewed-by: Janne Peltonen <janne.peltonen@nokia.com>
2023-05-30test: ipsecfwd: utilize shared memoryTuomas Taipale
Allocate program configuration from ODP shared memory for ODP memory shareability and visibility across all types of workers. Signed-off-by: Tuomas Taipale <tuomas.taipale@nokia.com> Reviewed-by: Janne Peltonen <janne.peltonen@nokia.com>
2023-05-23test: dma_perf: fix potential overflowsTuomas Taipale
Fix a few potential integer overflows reported by Coverity. Signed-off-by: Tuomas Taipale <tuomas.taipale@nokia.com> Reviewed-by: Matias Elo <matias.elo@nokia.com>
2023-05-22test: performance: refactor odp_dma_perf run scriptTuomas Taipale
Adjust `odp_dma_perf` run script according to tester changes. Signed-off-by: Tuomas Taipale <tuomas.taipale@nokia.com> Reviewed-by: Matias Elo <matias.elo@nokia.com>
2023-05-22test: performance: refactor DMA performance testerTuomas Taipale
DMA subsystem performance test scenario is refactored to one where several workers start and handle ongoing transfers. The number of transfers in-flight can be configured and workers will always try to keep that many transfers active through single or per-worker DMA session. Signed-off-by: Tuomas Taipale <tuomas.taipale@nokia.com> Reviewed-by: Matias Elo <matias.elo@nokia.com>
2023-04-24test: bench_timer: new performance test for timer APIPetri Savolainen
Added new benchmark test for call latency of (small) functions in timer API. Signed-off-by: Petri Savolainen <petri.savolainen@nokia.com> Reviewed-by: Matias Elo <matias.elo@nokia.com>
2023-04-14test: ipsecfwd: add return value checksTuomas Taipale
Add missing `odph_ipv4_addr_parse()` return value checks. Signed-off-by: Tuomas Taipale <tuomas.taipale@nokia.com> Reviewed-by: Petri Savolainen <petri.savolainen@nokia.com>
2023-04-14test: l2fwd: fix pass-by-valueTuomas Taipale
Instead of passing capability structure to `set_vector_pool_params()` as value, pass read-only pointer to it. Signed-off-by: Tuomas Taipale <tuomas.taipale@nokia.com> Reviewed-by: Petri Savolainen <petri.savolainen@nokia.com>
2023-04-14helper: ipsec: fix pass-by-valueTuomas Taipale
Instead of passing capability structure to `odph_ipsec_alg_check()` as value, pass read-only pointer to it. Signed-off-by: Tuomas Taipale <tuomas.taipale@nokia.com> Reviewed-by: Petri Savolainen <petri.savolainen@nokia.com>
2023-04-14Merge tag 'v1.41.0.0' of https://github.com/OpenDataPlane/odp into odp-dpdkMatias Elo
Signed-off-by: Matias Elo <matias.elo@nokia.com>
2023-04-12test: performance: crypto: simplify crypto operation result checkingJanne Peltonen
Check crypto operation success from the return value of odp_crypto_result() instead of the ok field of the result structure. Signed-off-by: Janne Peltonen <janne.peltonen@nokia.com> Reviewed-by: Anoob Joseph <anoobj@marvell.com>
2023-04-12test: ipsecfwd: add example configuration fileTuomas Taipale
Add a minimal configuration file example for `odp_ipsecfwd`. Signed-off-by: Tuomas Taipale <tuomas.taipale@nokia.com> Reviewed-by: Janne Peltonen <janne.peltonen@nokia.com>
2023-04-12test: ipsecfwd: utilize libconfigTuomas Taipale
All configuration is now moved to a single file and the file is passed via new `-C` option. Format is expected to be parsable by `libconfig`. For SAs, most of the configuration passed with `odp_ipsec_sa_param_t` can now be set via the configuration file. The configuration format supports default fallback for SAs, i.e. individual SA configuration blocks may omit some parameters and instead set these once in a `default` block which then is used to fill missing parameters. For example: default: { dir = 1 proto = 0 mode = 0 crypto: { cipher_alg = 4 cipher_key = "jWnZr4t7w!zwC*F-" auth_alg = 2 auth_key = "n2r5u7x!A%D*" icv_len = 12 }; }; sa: ( { spi = 1337 outbound: { tunnel: { src_addr = "192.168.1.10" dst_addr = "192.168.1.16" }; }; } ); would result in sa entry having the default `dir`, `proto`, `mode` and `crypto` parameters set in addition to `spi` and `outbound`. Only required argument for an SA is the `spi` parameter. Individual SA parameter blocks are expected to be in `sa`-named list. For forwarding entries, individual parameter blocks are similarly expected to be in `fwd`-named list. For example: fwd: ( { prefix: "192.168.1.0/24" if: "ens9f1" dst_mac: "00:00:05:00:07:00" } ); where `prefix` is the matched prefix for outgoing traffic, `if` is the interface to be used for the match and `dst_mac` is the MAC that is written to the outgoing frames. With forwarding entries, every parameter is always required. Signed-off-by: Tuomas Taipale <tuomas.taipale@nokia.com> Reviewed-by: Janne Peltonen <janne.peltonen@nokia.com>
2023-04-12test: ipsecfwd: build tester conditionallyTuomas Taipale
`odp_ipsecfwd` utilizes `libconfig` so build the tester only if the library is found. Signed-off-by: Tuomas Taipale <tuomas.taipale@nokia.com> Reviewed-by: Janne Peltonen <janne.peltonen@nokia.com>
2023-04-05test: atomic_perf: increase init valuePetri Savolainen
Quick fix to enable more rounds in min tests. The same value is used for 32 and 64 bit tests. Initialize it to half way of 32 bit range, so that both min and max tests support 2 billion modifications before the value saturates. Signed-off-by: Petri Savolainen <petri.savolainen@nokia.com> Reviewed-by: Tuomas Taipale <tuomas.taipale@nokia.com>
2023-03-27test: performance: start pktio devices before creating workersMatias Elo
As a workaround, start pktio devices before creating workers in odp_l2fwd and odp_sched_pktio test applications to enable limited DPDK process mode support. Signed-off-by: Matias Elo <matias.elo@nokia.com> Reviewed-by: Petri Savolainen <petri.savolainen@nokia.com>
2023-03-02test: packet_gen: fix compiler warningPetri Savolainen
Fixed compiler warning "vlan may be used uninitialized" when building with -Os option. Signed-off-by: Petri Savolainen <petri.savolainen@nokia.com> Reviewed-by: Janne Peltonen <janne.peltonen@nokia.com>
2023-02-20test: performance: crypto: add snow3g-uea2 and snow3g-uia2 testsTianyu Li
Add SNOW3G-UEA2 and SNOW3G-UIA2 algorithms in the crypto perf test tool. Signed-off-by: Tianyu Li <tianyu.li@arm.com> Reviewed-by: Janne Peltonen <janne.peltonen@nokia.com>
2023-02-16Merge tag 'v1.40.0.0' of https://github.com/OpenDataPlane/odp into odp-dpdkMatias Elo
Signed-off-by: Matias Elo <matias.elo@nokia.com>
2023-02-16test: timer_perf: print min/max timeout paramsPetri Savolainen
Print min and max timeout length parameters when creating timer pools. Signed-off-by: Petri Savolainen <petri.savolainen@nokia.com> Reviewed-by: Tuomas Taipale <tuomas.taipale@nokia.com>
2023-02-16test: performance: crypto: fix typosTianyu Li
Fix typos in comments found by code review. Signed-off-by: Tianyu Li <tianyu.li@arm.com> Reviewed-by: Matias Elo <matias.elo@nokia.com>
2023-01-18test: performance: fix gcc-7 lto build failuresMatias Elo
Fix invalid 'alloc-size-larger-than' errors in GCC-7 LTO build. Signed-off-by: Matias Elo <matias.elo@nokia.com> Reviewed-by: Tuomas Taipale <tuomas.taipale@nokia.com>
2022-12-29test: timer_perf: remove deprecated odp_timer_set_rel() function usageMatias Elo
Stop using deprecated odp_timer_set_rel() function. Signed-off-by: Matias Elo <matias.elo@nokia.com> Reviewed-by: Jere Leppänen <jere.leppanen@nokia.com>
2022-12-29test: sched_pktio: remove deprecated odp_timer_set_rel() functionMatias Elo
Stop using deprecated odp_timer_set_rel() function. Signed-off-by: Matias Elo <matias.elo@nokia.com> Reviewed-by: Jere Leppänen <jere.leppanen@nokia.com>
2022-12-29test: timer_perf: remove deprecated odp_timer_set_abs() function usageMatias Elo
Stop using deprecated odp_timer_set_abs() function. Signed-off-by: Matias Elo <matias.elo@nokia.com> Reviewed-by: Jere Leppänen <jere.leppanen@nokia.com>
2022-12-27test: bench_misc: add new perf test for misc API callsPetri Savolainen
Test overhead of miscellaneous set of API functions. For example, time and CPU cycle count APIs may be called often in fast path. Signed-off-by: Petri Savolainen <petri.savolainen@nokia.com> Reviewed-by: Tuomas Taipale <tuomas.taipale@nokia.com> Reviewed-by: Matias Elo <matias.elo@nokia.com>
2022-12-27test: bench_buffer: fix test round countingPetri Savolainen
Fix round counter reset in packet and buffer bench test applications. It counts from 1 to N. Signed-off-by: Petri Savolainen <petri.savolainen@nokia.com> Reviewed-by: Tuomas Taipale <tuomas.taipale@nokia.com> Reviewed-by: Matias Elo <matias.elo@nokia.com>
2022-12-14test: performance: crypto: check if crypto operations succeedJanne Peltonen
Add checks for the success of crypto operations. Print an error and abort the test if a crypto operation fails. This prevents failed crypto operations from going unnoticed and producing bogus performance results. Signed-off-by: Janne Peltonen <janne.peltonen@nokia.com> Reviewed-by: Jere Leppänen <jere.leppanen@nokia.com> Reviewed-by: Tuomas Taipale <tuomas.taipale@nokia.com>
2022-12-13test: stress: disable running stress test during make checkMatias Elo
Temporarily disable running stress test application during make check. Currently, the application gets stuck with the default DPDK timer implementation which processes timers only on the cores which started them (rte_timer_reset()). Signed-off-by: Matias Elo <matias.elo@nokia.com> Reviewed-by: Tuomas Taipale <tuomas.taipale@nokia.com>
2022-12-09Merge tag 'v1.39.0.0' of https://github.com/OpenDataPlane/odp into odp-dpdkMatias Elo
Signed-off-by: Matias Elo <matias.elo@nokia.com>
2022-12-05test: sched_perf: print SHM in verbose modePetri Savolainen
Print SHM memory reservations which may be useful information when debugging. Signed-off-by: Petri Savolainen <petri.savolainen@nokia.com> Reviewed-by: Matias Elo <matias.elo@nokia.com>
2022-11-29test: performance: fix odp_cpu_bench for 256 worker supportNithin Dabilpuram
Fix cpu bench app to work when ODP platform supports more worker threads than MAX_GROUPS * QUEUES_PER_GROUP. Signed-off-by: Nithin Dabilpuram <ndabilpuram@marvell.com> Reviewed-by: Matias Elo <matias.elo@nokia.com>
2022-11-28test: pool_perf: add option to enable statisticsPetri Savolainen
Added -S option to enable pool performance testing while statistics are enabled. Test also measures statistics function call latency. Signed-off-by: Petri Savolainen <petri.savolainen@nokia.com> Reviewed-by: Matias Elo <matias.elo@nokia.com>
2022-11-28test: sched_latency: improve option documentationPetri Savolainen
Make number of events documentation more clear. Sample events are added on top of -m and -n values. Print number of sample events used in the results. Document default values for number of events and queues options. Remove unnecessary defines for option default values. Signed-off-by: Petri Savolainen <petri.savolainen@nokia.com> Reviewed-by: Jere Leppänen <jere.leppanen@nokia.com>
2022-11-28test: sched_latency: record index of max latency eventPetri Savolainen
Added index of the highest latency sample event into statistics. It may help in finding the reason for high latency events (high latency only during start up vs randomly). Signed-off-by: Petri Savolainen <petri.savolainen@nokia.com> Reviewed-by: Jere Leppänen <jere.leppanen@nokia.com>
2022-11-28test: sched_latency: read time on every schedule callPetri Savolainen
Moved time stamp read right after schedule call returns. When low priority queues are used, most events are not sample events and time stamp read is wasted effort. However, this improves latency measurement accuracy on sample events. Signed-off-by: Petri Savolainen <petri.savolainen@nokia.com> Reviewed-by: Jere Leppänen <jere.leppanen@nokia.com>
2022-11-28test: sched_latency: reorganize schedule loopPetri Savolainen
Moved barrier closer to worker main loop start. So, that all workers are ready to process events simultaneously. Remove unused source queue handle update from schedule call. Signed-off-by: Petri Savolainen <petri.savolainen@nokia.com> Reviewed-by: Jere Leppänen <jere.leppanen@nokia.com>
2022-11-28test: sched_latency: use strict time stampsPetri Savolainen
Use odp_time_global_strict() instead of the basic version for better time stamp accuracy. Remove latency of time conversion from the measurement by saving raw time stamp data to the event. Signed-off-by: Petri Savolainen <petri.savolainen@nokia.com> Reviewed-by: Jere Leppänen <jere.leppanen@nokia.com>
2022-11-25test: dma_perf: add maximum retries for operationsTuomas Taipale
Add maximum retries for synchronous and asynchronous transfers and transfer starts as well as asynchronous polling to make program eventually exit in case of it cannot be directly interrupted. Signed-off-by: Tuomas Taipale <tuomas.taipale@nokia.com> Reviewed-by: Petri Savolainen <petri.savolainen@nokia.com>
2022-11-25test: dma_perf: retry DMA transfers if resources temporarily unavailableTuomas Taipale
DMA transfers can occasionally not start in both synchronous and asynchronous cases due to resources being temporarily unavailable. Take this into account in tester logic and retry as long as this is the case. Signed-off-by: Tuomas Taipale <tuomas.taipale@nokia.com> Reviewed-by: Petri Savolainen <petri.savolainen@nokia.com>
2022-11-25test: dma_perf: make completion event wait period configurableTuomas Taipale
In certain situations it can be useful to configure the completion event waiting period instead of using the default hard-coded value, thus it is now configurable with nanosecond precision with the new `-w` option. Additionally, current default is changed to one (1) second, as this should make the tester a bit more responsive in case of a timeout. Signed-off-by: Tuomas Taipale <tuomas.taipale@nokia.com> Reviewed-by: Petri Savolainen <petri.savolainen@nokia.com>
2022-11-24test: stress: add new ODP stress testPetri Savolainen
Add test application that can be used to stress CPU, memory and HW accelerators. Stress level can be modified with -m option. Minimal stress level (-m 0) can be used e.g. to measure idle power, and compare that to higher levels. The next level (-m 1) does simply a memcpy() from the first half of worker memory to the second half. More advanced levels can be added later. Signed-off-by: Petri Savolainen <petri.savolainen@nokia.com> Reviewed-by: Jere Leppänen <jere.leppanen@nokia.com>
2022-11-21test: ipsecfwd: use hashed TX only with scheduled ordered queuesTuomas Taipale
Output packet ordering can be maintained properly only when scheduled oredered queues are configured. Thus, when those are not configured use thread specific output queues. This increases tester throughput slightly as per-packet hashing can be omitted. Signed-off-by: Tuomas Taipale <tuomas.taipale@nokia.com> Reviewed-by: Janne Peltonen <janne.peltonen@nokia.com>