History log of /dpdk/app/test/test_hash_perf.c (Results 1 – 25 of 30)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
Revision tags: v22.03, v22.03-rc4, v22.03-rc3, v22.03-rc2, v22.03-rc1
# 06c047b6 09-Feb-2022 Stephen Hemminger <[email protected]>

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 <[email protected]>

show more ...


# 3c60274c 26-Jan-2022 Jie Zhou <[email protected]>

test: skip unsupported tests on Windows

Skip tests which are not yet supported for Windows:
- The libraries that tests depend on are not enabled on Windows yet
- The tests can compile but with issue

test: skip unsupported tests on Windows

Skip tests which are not yet supported for Windows:
- The libraries that tests depend on are not enabled on Windows yet
- The tests can compile but with issue still under investigation
* test_func_reentrancy:
Windows EAL has no protection against repeated calls.
* test_lcores:
Execution enters an infinite loops, requires investigation.
* test_rcu_qsbr_perf:
Execution hangs on Windows, requires investigation.

Signed-off-by: Jie Zhou <[email protected]>
Signed-off-by: Dmitry Kozlyuk <[email protected]>
Acked-by: Tyler Retzlaff <[email protected]>

show more ...


# f6846729 26-Jan-2022 Jie Zhou <[email protected]>

test: resolve name collision on Windows

Add prefix to resolve name collision on Windows.

Signed-off-by: Jie Zhou <[email protected]>
Acked-by: Dmitry Kozlyuk <[email protected]>


Revision tags: v21.11, v21.11-rc4, v21.11-rc3, v21.11-rc2, v21.11-rc1, v21.08, v21.08-rc4, v21.08-rc3, v21.08-rc2, v21.08-rc1, v21.05, v21.05-rc4, v21.05-rc3, v21.05-rc2, v21.05-rc1, v21.02, v21.02-rc4, v21.02-rc3, v21.02-rc2, v21.02-rc1, v20.11, v20.11-rc5, v20.11-rc4, v20.11-rc3, v20.11-rc2, v20.11-rc1, v20.08, v20.08-rc4, v20.08-rc3, v20.08-rc2, v20.08-rc1, v20.05, v20.05-rc4, v20.05-rc3, v20.05-rc2, v20.05-rc1
# 14b8ab57 16-Apr-2020 Vladimir Medvedkin <[email protected]>

hash: add bulk lookup with signatures array

Implement rte_hash_lookup_with_hash_bulk_data() and
rte_hash_lookup_with_hash_bulk() - bulk lookup
functions with precomputed hash signatures.
Add these t

hash: add bulk lookup with signatures array

Implement rte_hash_lookup_with_hash_bulk_data() and
rte_hash_lookup_with_hash_bulk() - bulk lookup
functions with precomputed hash signatures.
Add these two functions into performance tests.

Signed-off-by: Vladimir Medvedkin <[email protected]>
Acked-by: Yipeng Wang <[email protected]>

show more ...


Revision tags: v20.02, v20.02-rc4, v20.02-rc3, v20.02-rc2, v20.02-rc1, v19.11, v19.11-rc4, v19.11-rc3, v19.11-rc2, v19.11-rc1
# d1705276 05-Sep-2019 Ferruh Yigit <[email protected]>

test: fix global variable multiple definitions

Multiple global variable are defined in multiple unit test files with
same name, but all unit test files are linked into single executable,
which means

test: fix global variable multiple definitions

Multiple global variable are defined in multiple unit test files with
same name, but all unit test files are linked into single executable,
which means those variables share same storage which is not the
intention, fixed by making global variables 'static'.

Issue has been detected by '-fno-common' gcc flag.

Fixes: fdeb30fa7102 ("test/bitrate: add unit tests for bitrate library")
Fixes: c3eabff124e6 ("distributor: add unit tests")
Fixes: 0e925aef2779 ("app/test: add EFD functional and perf tests")
Fixes: 359e17bf081f ("app/test: improve hash unit tests")
Fixes: c7eb0972e74b ("test/hash: add lock-free r/w concurrency")
Fixes: 1e3676a06e4c ("test/latency: add unit tests for latencystats library")
Fixes: 0cc67a96e486 ("test/member: add functional and perf tests")
Fixes: e6a14121f4ae ("test/rcu: remove arbitrary limit on max core count")
Fixes: 104dbec2081a ("test/rcu: increase size of core numbers")
Cc: [email protected]

Signed-off-by: Ferruh Yigit <[email protected]>

show more ...


Revision tags: v19.08, v19.08-rc4, v19.08-rc3, v19.08-rc2, v19.08-rc1, v19.05, v19.05-rc4, v19.05-rc3, v19.05-rc2, v19.05-rc1
# 8766e2a4 26-Mar-2019 Pallantla Poornima <[email protected]>

test/hash: replace sprintf with snprintf

sprintf function is not secure as it doesn't check the length of string.
More secure function snprintf is used.

Fixes: 473d1bebce ("hash: allow to store dat

test/hash: replace sprintf with snprintf

sprintf function is not secure as it doesn't check the length of string.
More secure function snprintf is used.

Fixes: 473d1bebce ("hash: allow to store data in hash table")
Cc: [email protected]

Signed-off-by: Pallantla Poornima <[email protected]>
Acked-by: Yipeng Wang <[email protected]>

show more ...


# a9de470c 26-Feb-2019 Bruce Richardson <[email protected]>

test: move to app directory

Since all other apps have been moved to the "app" folder, the autotest app
remains alone in the test folder. Rather than having an entire top-level
folder for this, we ca

test: move to app directory

Since all other apps have been moved to the "app" folder, the autotest app
remains alone in the test folder. Rather than having an entire top-level
folder for this, we can move it back to where it all started in early
versions of DPDK - the "app/" folder.

This move has a couple of advantages:
* This reduces clutter at the top level of the project, due to one less
folder.
* It eliminates the separate build task necessary for building the
autotests using make "make test-build" which means that developers are
less likely to miss something in their own compilation tests
* It re-aligns the final location of the test binary in the app folder when
building with make with it's location in the source tree.

For meson builds, the autotest app is different from the other apps in that
it needs a series of different test cases defined for it for use by "meson
test". Therefore, it does not get built as part of the main loop in the
app folder, but gets built separately at the end.

Signed-off-by: Bruce Richardson <[email protected]>

show more ...


Revision tags: v19.02, v19.02-rc4, v19.02-rc3, v19.02-rc2, v19.02-rc1, v18.11, v18.11-rc5, v18.11-rc4, v18.11-rc3, v18.11-rc2, v18.11-rc1, v18.08, v18.08-rc3, v18.08-rc2, v18.08-rc1, v18.05, v18.05-rc6, v18.05-rc5, v18.05-rc4, v18.05-rc3, v18.05-rc2, v18.05-rc1, v18.02, v18.02-rc4, v18.02-rc3, v18.02-rc2, v18.02-rc1, v17.11, v17.11-rc4, v17.11-rc3, v17.11-rc2, v17.11-rc1, v17.08, v17.08-rc4, v17.08-rc3, v17.08-rc2, v17.08-rc1, v17.05, v17.05-rc4, v17.05-rc3, v17.05-rc2, v17.05-rc1, v17.02, v17.02-rc3, v17.02-rc2, v17.02-rc1, v16.11, v16.11-rc3, v16.11-rc2, v16.11-rc1, v16.07, v16.07-rc5, v16.07-rc4, v16.07-rc3
# 26e09db6 13-Jul-2016 Thomas Monjalon <[email protected]>

app/test: rework command registration

The tests are registered with their command name by adding a structure
to a list. The structure of each test was declared in each test file
and passed to the re

app/test: rework command registration

The tests are registered with their command name by adding a structure
to a list. The structure of each test was declared in each test file
and passed to the register macro.
This rework generate the structure inside the register macro.

Signed-off-by: Thomas Monjalon <[email protected]>
Reviewed-by: Jan Viktorin <[email protected]>

show more ...


Revision tags: v16.07-rc2, v16.07-rc1, v16.04, v16.04-rc4, v16.04-rc3, v16.04-rc2, v16.04-rc1, v2.2.0, v2.2.0-rc4, v2.2.0-rc3, v2.2.0-rc2, v2.2.0-rc1
# 0f201fe9 04-Sep-2015 Pablo de Lara <[email protected]>

hash: remove deprecated function and macros

The function rte_jhash2() was renamed rte_jhash_32b and
macros RTE_HASH_KEY_LENGTH_MAX and RTE_HASH_BUCKET_ENTRIES_MAX
were tagged as deprecated, so they

hash: remove deprecated function and macros

The function rte_jhash2() was renamed rte_jhash_32b and
macros RTE_HASH_KEY_LENGTH_MAX and RTE_HASH_BUCKET_ENTRIES_MAX
were tagged as deprecated, so they can be removed in 2.2.

RTE_HASH_KEY_LENGTH is replaced in unit tests by an internal macro
for the memory allocation of all keys used.

The library version number is incremented.

Signed-off-by: Pablo de Lara <[email protected]>
Signed-off-by: Thomas Monjalon <[email protected]>

show more ...


Revision tags: v2.1.0, v2.1.0-rc4, v2.1.0-rc3, v2.1.0-rc2, v2.1.0-rc1
# 24b4bb81 13-Jul-2015 Bruce Richardson <[email protected]>

hash: rename unused field

The cuckoo hash has a fixed number of entries per bucket, so the
configuration parameter for this is unused. We change this field in the
parameters struct to "reserved" to

hash: rename unused field

The cuckoo hash has a fixed number of entries per bucket, so the
configuration parameter for this is unused. We change this field in the
parameters struct to "reserved" to indicate that there is now no such
parameter value, while at the same time keeping ABI consistency.

Fixes: 48a399119619 ("hash: replace with cuckoo hash implementation")

Suggested-by: Thomas Monjalon <[email protected]>
Signed-off-by: Bruce Richardson <[email protected]>

show more ...


# 473d1beb 11-Jul-2015 Pablo de Lara <[email protected]>

hash: allow to store data in hash table

Usually hash tables not only store keys, but also data associated
to them. In order to maintain the existing API, the old functions
will still return the inde

hash: allow to store data in hash table

Usually hash tables not only store keys, but also data associated
to them. In order to maintain the existing API, the old functions
will still return the index where the key was stored.
The new functions will return the data associated to that key.
In the case of the lookup_bulk function, it will return also
the number of entries found and a bitmask of which entries
were found.

Unit tests have been updated to use these new functions.

As a final point, a flag has been added in rte_hash_parameters
to indicate if there are new parameters for future versions,
so there is no need to maintain multiple versions
of the existing functions in the future.

Signed-off-by: Pablo de Lara <[email protected]>
Acked-by: Bruce Richardson <[email protected]>
[Thomas: fix || operator in a precondition check]

show more ...


# b26473ff 11-Jul-2015 Pablo de Lara <[email protected]>

hash: add reset function

Added reset function to be able to empty the table,
without having to destroy and create it again.

Signed-off-by: Pablo de Lara <[email protected]>
Acked-by: B

hash: add reset function

Added reset function to be able to empty the table,
without having to destroy and create it again.

Signed-off-by: Pablo de Lara <[email protected]>
Acked-by: Bruce Richardson <[email protected]>

show more ...


# 48a39911 11-Jul-2015 Pablo de Lara <[email protected]>

hash: replace with cuckoo hash implementation

This patch replaces the existing hash library with another approach,
using the Cuckoo Hash method to resolve collisions (open addressing),
which pushes

hash: replace with cuckoo hash implementation

This patch replaces the existing hash library with another approach,
using the Cuckoo Hash method to resolve collisions (open addressing),
which pushes items from a full bucket when a new entry tries
to be added in it, storing the evicted entry in an alternative location,
using a secondary hash function.

This gives the user the ability to store more entries when a bucket
is full, in comparison with the previous implementation.
Therefore, the unit test has been updated, as some scenarios have changed
(such as the previous removed restriction).

Also note that the API has not been changed, although new fields
have been added in the rte_hash structure (structure is internal now).
The main change when creating a new table is that the number of entries
per bucket is fixed now, so its parameter is ignored now
(still there to maintain the same parameters structure).
The hash unit test has been updated to reflect these changes.

As a last note, the maximum burst size in lookup_burst function
hash been increased to 64, to improve performance.

Signed-off-by: Pablo de Lara <[email protected]>
Acked-by: Bruce Richardson <[email protected]>

show more ...


# 359e17bf 09-Jul-2015 Pablo de Lara <[email protected]>

app/test: improve hash unit tests

Add new unit test for calculating the average table utilization,
using random keys, based on number of entries that can be added
until we encounter one that cannot

app/test: improve hash unit tests

Add new unit test for calculating the average table utilization,
using random keys, based on number of entries that can be added
until we encounter one that cannot be added (bucket if full).

Also, replace current hash_perf unit test to see performance more clearly.
The current hash_perf unit test takes too long and add keys that
may or may not fit in the table and look up/delete that may not be
in the table. This new unit test gets a set of keys that we know
that fits in the table, and then measure the time to add/look up/delete
them.

Note that performance numbers include time to take a random key
from a pre-made array of keys, plus a quick check of return value.
Also, as stated above, expect higher numbers, as all operations
in the new unit tests will be successful, which means that
it will take more time, than mixing both successful and unsuccesful
operations.

Signed-off-by: Pablo de Lara <[email protected]>
Acked-by: Bruce Richardson <[email protected]>

show more ...


# 4de41856 10-Jun-2015 Pablo de Lara <[email protected]>

app/test: move hash performance tests to separate file

This patch moves hash function performance tests to a separate file,
so user can check performance of the existing hash functions quicker,
with

app/test: move hash performance tests to separate file

This patch moves hash function performance tests to a separate file,
so user can check performance of the existing hash functions quicker,
without having to run all the other hash operation performance tests,
which takes some time.

Signed-off-by: Pablo de Lara <[email protected]>
Acked-by: Bruce Richardson <[email protected]>

show more ...


# 517f8377 07-Apr-2015 Stephen Hemminger <[email protected]>

app/test: remove useless null check before rte_free

rte_free like Glibc free allows rte_free(NULL) as null operation.

Signed-off-by: Stephen Hemminger <[email protected]>
Acked-by: Neil Ho

app/test: remove useless null check before rte_free

rte_free like Glibc free allows rte_free(NULL) as null operation.

Signed-off-by: Stephen Hemminger <[email protected]>
Acked-by: Neil Horman <[email protected]>

show more ...


Revision tags: v2.0.0, v2.0.0-rc3, v2.0.0-rc2
# ff708fac 04-Mar-2015 David Marchand <[email protected]>

tailq: remove unneeded inclusions

Only keep inclusion where really needed.

Signed-off-by: David Marchand <[email protected]>
Acked-by: Neil Horman <[email protected]>


Revision tags: v2.0.0-rc1
# f2cae314 14-Feb-2015 Stephen Hemminger <[email protected]>

app/test: remove unneeded casts

The malloc family returns void * and therefore cast is unnecessary.
Use calloc rather than zmalloc with multiply for array.

Signed-off-by: Stephen Hemminger <stephen

app/test: remove unneeded casts

The malloc family returns void * and therefore cast is unnecessary.
Use calloc rather than zmalloc with multiply for array.

Signed-off-by: Stephen Hemminger <[email protected]>
Acked-by: Bruce Richardson <[email protected]>

show more ...


# 6597fc64 29-Jan-2015 Yerden Zhumabekov <[email protected]>

app/test: remove redundant compile checks

Since rte_hash_crc() can now be run regardless of SSE4.2 support,
we can safely remove compile checks for RTE_MACHINE_CPUFLAG_SSE4_2
in test utilities.

Sig

app/test: remove redundant compile checks

Since rte_hash_crc() can now be run regardless of SSE4.2 support,
we can safely remove compile checks for RTE_MACHINE_CPUFLAG_SSE4_2
in test utilities.

Signed-off-by: Yerden Zhumabekov <[email protected]>
Acked-by: Bruce Richardson <[email protected]>

show more ...


Revision tags: v1.8.0, v1.8.0-rc6, v1.8.0-rc5, v1.8.0-rc4, v1.8.0-rc3, v1.8.0-rc2
# 46bf72f9 17-Oct-2014 Bruce Richardson <[email protected]>

app/test: fix crash for fbk hashes with a lot of entries

The four-byte-key (fbk) autotest was allocating the keys to be used for
the test on the stack. When the number of entries in the table was
in

app/test: fix crash for fbk hashes with a lot of entries

The four-byte-key (fbk) autotest was allocating the keys to be used for
the test on the stack. When the number of entries in the table was
increased significantly, for example, to test larger hashes by increase the
value of ENTRIES, this array of keys was greater than that
allowed on the stack, and so caused problems, i.e. crashes and core dumps.

The solution is to have the keys dynamically allocated on the heap using
malloc. Now if ENTRIES is increased and we run out of memory we get an
error message instead of a crash.

Signed-off-by: Bruce Richardson <[email protected]>
Acked-by: Pablo de Lara <[email protected]>

show more ...


Revision tags: v1.8.0-rc1, v1.7.1
# 7822c43a 18-Aug-2014 David Marchand <[email protected]>

app/test: only build what has been selected in config

Avoid building tests if their counterparts are not selected in config.
This has the nice side effect of fixing build errors when disabling parts

app/test: only build what has been selected in config

Avoid building tests if their counterparts are not selected in config.
This has the nice side effect of fixing build errors when disabling parts of
the dpdk.

Signed-off-by: David Marchand <[email protected]>
Acked-by: Bruce Richardson <[email protected]>
Acked-by: Neil Horman <[email protected]>

show more ...


# 942405f9 18-Aug-2014 David Marchand <[email protected]>

app/test: convert all tests to register system

Remove all tests from the builtin commands list and use the dynamic commands
list register macro.

Signed-off-by: David Marchand <david.marchand@6wind.

app/test: convert all tests to register system

Remove all tests from the builtin commands list and use the dynamic commands
list register macro.

Signed-off-by: David Marchand <[email protected]>
Acked-by: Bruce Richardson <[email protected]>
Acked-by: Neil Horman <[email protected]>

show more ...


Revision tags: v1.7.0, v1.7.0-rc4, v1.7.0-rc3, v1.7.0-rc2
# 6f41fe75 24-Jun-2014 Stephen Hemminger <[email protected]>

eal: deprecate rte_snprintf

The function rte_snprintf serves no useful purpose. It is the
same as snprintf() for all valid inputs. Deprecate it and
replace all uses in current code.

Leave the tests

eal: deprecate rte_snprintf

The function rte_snprintf serves no useful purpose. It is the
same as snprintf() for all valid inputs. Deprecate it and
replace all uses in current code.

Leave the tests for the deprecated function in place.

Signed-off-by: Stephen Hemminger <[email protected]>
Acked-by: Thomas Monjalon <[email protected]>

show more ...


Revision tags: v1.7.0-rc1
# 3031749c 03-Jun-2014 Bruce Richardson <[email protected]>

remove trailing whitespaces

This commit removes trailing whitespace from lines in files. Almost all
files are affected, as the BSD license copyright header had trailing
whitespace on 4 lines in it [

remove trailing whitespaces

This commit removes trailing whitespace from lines in files. Almost all
files are affected, as the BSD license copyright header had trailing
whitespace on 4 lines in it [hence the number of files reporting 8 lines
changed in the diffstat].

Signed-off-by: Bruce Richardson <[email protected]>
Acked-by: Neil Horman <[email protected]>
[Thomas: remove spaces before tabs in libs]
[Thomas: remove more trailing spaces in non-C files]
Signed-off-by: Thomas Monjalon <[email protected]>

show more ...


Revision tags: v1.6.0r2, v1.6.0r1, v1.6.0r0, v1.5.2r2, v1.5.2r1, v1.5.2r0, v1.5.1r2, v1.5.1r1, v1.5.1r0, v1.5.0r2
# 21a7f4e2 14-Nov-2013 Thomas Monjalon <[email protected]>

app/test: fix build without librte_cmdline

Some features are not available if LIBRTE_CMDLINE is disabled:
- interactive commands
- cmdline tests
Remove also cmdline_parse includes which are not need

app/test: fix build without librte_cmdline

Some features are not available if LIBRTE_CMDLINE is disabled:
- interactive commands
- cmdline tests
Remove also cmdline_parse includes which are not needed.

Signed-off-by: Thomas Monjalon <[email protected]>
Acked-by: Olivier Matz <[email protected]>

show more ...


12