Age | Commit message (Collapse) | Author |
|
Merge ODP linux-generic v1.42.0.0 into linux-dpdk.
Signed-off-by: Matias Elo <matias.elo@nokia.com>
|
|
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>
|
|
Merge ODP linux-generic v1.41.1.0 into linux-dpdk.
Signed-off-by: Matias Elo <matias.elo@nokia.com>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
Signed-off-by: Matias Elo <matias.elo@nokia.com>
|
|
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>
|
|
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>
|
|
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>
|
|
`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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
Signed-off-by: Matias Elo <matias.elo@nokia.com>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
Signed-off-by: Matias Elo <matias.elo@nokia.com>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|