|
Revision tags: v22.03, v22.03-rc4, v22.03-rc3, v22.03-rc2, v22.03-rc1 |
|
| #
ed579e50 |
| 24-Jan-2022 |
Morten Brørup <[email protected]> |
mempool: test performance with constant n
"What gets measured gets done."
This patch adds mempool performance tests where the number of objects to put and get is constant at compile time, which may
mempool: test performance with constant n
"What gets measured gets done."
This patch adds mempool performance tests where the number of objects to put and get is constant at compile time, which may significantly improve the performance of these functions. [*]
Also, it is ensured that the array holding the object used for testing is cache line aligned, for maximum performance.
And finally, the following entries are added to the list of tests: - Number of kept objects: 512 - Number of objects to get and to put: The number of pointers fitting into a cache line, i.e. 8 or 16
[*] Some example performance test (with cache) results:
get_bulk=4 put_bulk=4 keep=128 constant_n=false rate_persec=280480972 get_bulk=4 put_bulk=4 keep=128 constant_n=true rate_persec=622159462
get_bulk=8 put_bulk=8 keep=128 constant_n=false rate_persec=477967155 get_bulk=8 put_bulk=8 keep=128 constant_n=true rate_persec=917582643
get_bulk=32 put_bulk=32 keep=32 constant_n=false rate_persec=871248691 get_bulk=32 put_bulk=32 keep=32 constant_n=true rate_persec=1134021836
Signed-off-by: Morten Brørup <[email protected]> Signed-off-by: Olivier Matz <[email protected]>
show more ...
|
|
Revision tags: v21.11, v21.11-rc4, v21.11-rc3 |
|
| #
4a6672c2 |
| 12-Nov-2021 |
Stephen Hemminger <[email protected]> |
fix spelling in comments and doxygen
Fix spelling errors in comments including doxygen found using codespell.
Signed-off-by: Stephen Hemminger <[email protected]> Acked-by: Konstantin Anan
fix spelling in comments and doxygen
Fix spelling errors in comments including doxygen found using codespell.
Signed-off-by: Stephen Hemminger <[email protected]> Acked-by: Konstantin Ananyev <[email protected]> Acked-by: Vladimir Medvedkin <[email protected]> Reviewed-by: Honnappa Nagarahalli <[email protected]> Acked-by: Ray Kinsella <[email protected]> Acked-by: Cristian Dumitrescu <[email protected]> Acked-by: Chenbo Xia <[email protected]>
show more ...
|
|
Revision tags: v21.11-rc2, v21.11-rc1, v21.08, v21.08-rc4, v21.08-rc3, v21.08-rc2 |
|
| #
e9fea303 |
| 20-Jul-2021 |
Joyce Kong <[email protected]> |
test/mempool: use compiler atomics for lcores sync
Convert rte_atomic usages to compiler atomic built-ins for lcores sync in mempool_perf testcases. Meanwhile, remove unnecessary synchro init as it
test/mempool: use compiler atomics for lcores sync
Convert rte_atomic usages to compiler atomic built-ins for lcores sync in mempool_perf testcases. Meanwhile, remove unnecessary synchro init as it would be set to 0 when launching cores.
Signed-off-by: Joyce Kong <[email protected]> Reviewed-by: Ruifeng Wang <[email protected]> Acked-by: Stephen Hemminger <[email protected]>
show more ...
|
|
Revision tags: 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 |
|
| #
cb056611 |
| 15-Oct-2020 |
Stephen Hemminger <[email protected]> |
eal: rename lcore master and slave
Replace master lcore with main lcore and replace slave lcore with worker lcore.
Keep the old functions and macros but mark them as deprecated for this release.
T
eal: rename lcore master and slave
Replace master lcore with main lcore and replace slave lcore with worker lcore.
Keep the old functions and macros but mark them as deprecated for this release.
The "--master-lcore" command line option is also deprecated and any usage will print a warning and use "--main-lcore" as replacement.
Signed-off-by: Stephen Hemminger <[email protected]> Acked-by: Anatoly Burakov <[email protected]>
show more ...
|
|
Revision tags: 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, v20.02, v20.02-rc4, v20.02-rc3 |
|
| #
f2fc83b4 |
| 09-Feb-2020 |
Thomas Monjalon <[email protected]> |
replace unused attributes
There is a common macro __rte_unused, avoiding warnings, which is now used where appropriate for consistency.
Signed-off-by: Thomas Monjalon <[email protected]>
|
|
Revision tags: v20.02-rc2, v20.02-rc1, v19.11, v19.11-rc4, v19.11-rc3, v19.11-rc2, v19.11-rc1, 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 |
|
| #
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 |
|
| #
f0372301 |
| 31-Aug-2016 |
Amine Kherbouche <[email protected]> |
remove unused ring includes
This patch removes all unused <rte_ring.h> headers.
Signed-off-by: Amine Kherbouche <[email protected]>
|
|
Revision tags: 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 |
|
| #
a0fd91ce |
| 30-Jun-2016 |
Bruce Richardson <[email protected]> |
mempool: rename functions with confusing names
The mempool_count and mempool_free_count behaved contrary to what their names suggested. The free_count function actually returned the number of elemen
mempool: rename functions with confusing names
The mempool_count and mempool_free_count behaved contrary to what their names suggested. The free_count function actually returned the number of elements that were allocated from the pool, not the number unallocated as the name implied.
Fix this by introducing two new functions to replace the old ones, * rte_mempool_avail_count to replace rte_mempool_count * rte_mempool_in_use_count to replace rte_mempool_free_count
In this patch, the new functions are added, and the old ones are marked as deprecated. All apps and examples that use the old functions are updated to use the new functions.
Fixes: af75078fece3 ("first public release")
Signed-off-by: Bruce Richardson <[email protected]>
show more ...
|
| #
4b506275 |
| 28-Jun-2016 |
Lazaros Koromilas <[email protected]> |
mempool: allow user-owned cache
The mempool cache is only available to EAL threads as a per-lcore resource. Change this so that the user can create and provide their own cache on mempool get and put
mempool: allow user-owned cache
The mempool cache is only available to EAL threads as a per-lcore resource. Change this so that the user can create and provide their own cache on mempool get and put operations. This works with non-EAL threads too. This commit introduces the new API calls:
rte_mempool_cache_create(size, socket_id) rte_mempool_cache_free(cache) rte_mempool_cache_flush(cache, mp) rte_mempool_default_cache(mp, lcore_id)
Changes the API calls:
rte_mempool_generic_put(mp, obj_table, n, cache, flags) rte_mempool_generic_get(mp, obj_table, n, cache, flags)
The cache-oblivious API calls use the per-lcore default local cache.
Signed-off-by: Lazaros Koromilas <[email protected]> Acked-by: Olivier Matz <[email protected]>
show more ...
|
| #
449c49b9 |
| 22-Jun-2016 |
David Hunt <[email protected]> |
mempool: support handler operations
Until now, the objects stored in a mempool were internally stored in a ring. This patch introduces the possibility to register external handlers replacing the rin
mempool: support handler operations
Until now, the objects stored in a mempool were internally stored in a ring. This patch introduces the possibility to register external handlers replacing the ring.
The default behavior remains unchanged, but calling the new function rte_mempool_set_ops_byname() right after rte_mempool_create_empty() allows the user to change the handler that will be used when populating the mempool.
This patch also adds a set of default ops (function callbacks) based on rte_ring.
Signed-off-by: David Hunt <[email protected]> Signed-off-by: Olivier Matz <[email protected]> Acked-by: Shreyansh Jain <[email protected]> Acked-by: Olivier Matz <[email protected]>
show more ...
|
| #
3a4c1dc5 |
| 26-May-2016 |
David Hunt <[email protected]> |
app/test: fix wraparound of mempool performance rate
Recent CPU's can easily wrap around a 32-bit unsigned int in the mempool perf test. Increase to a 64-bit uint.
Signed-off-by: David Hunt <david.
app/test: fix wraparound of mempool performance rate
Recent CPU's can easily wrap around a 32-bit unsigned int in the mempool perf test. Increase to a 64-bit uint.
Signed-off-by: David Hunt <[email protected]> Acked-by: Olivier Matz <[email protected]>
show more ...
|
|
Revision tags: 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, v2.1.0, v2.1.0-rc4, v2.1.0-rc3, v2.1.0-rc2, v2.1.0-rc1 |
|
| #
2465980a |
| 09-Jul-2015 |
Olivier Matz <[email protected]> |
app/test: decrease size of requested mempool
In test application, the default size of allocated mempool is calculated as following:
(RTE_MAX_LCORE * (RTE_MEMPOOL_CACHE_MAX_SIZE + max_kept_objects
app/test: decrease size of requested mempool
In test application, the default size of allocated mempool is calculated as following:
(RTE_MAX_LCORE * (RTE_MEMPOOL_CACHE_MAX_SIZE + max_kept_objects)) - 1
The objective is to ensure that all cores can fill their cache and keep 'max_kept_objects' at the same time. As RTE_MAX_LCORE is 128 and RTE_MEMPOOL_CACHE_MAX_SIZE is 512 in the default configuration, it can produce very large mempools (170 MB).
We can replace the number of core by a dynamic value, which drastically reduces the amount of memory needed for this test (5 MB with 4 cores).
Signed-off-by: Olivier Matz <[email protected]> Acked-by: Bruce Richardson <[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, v1.8.0, v1.8.0-rc6, v1.8.0-rc5, v1.8.0-rc4, v1.8.0-rc3, v1.8.0-rc2, v1.8.0-rc1, v1.7.1 |
|
| #
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, 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 ...
|
| #
591a9d79 |
| 02-May-2014 |
Stephen Hemminger <[email protected]> |
add FILE argument to debug functions
The DPDK dump functions are useful for remote debugging of an applications. But when application runs as a daemon, stdout is typically routed to /dev/null.
Inst
add FILE argument to debug functions
The DPDK dump functions are useful for remote debugging of an applications. But when application runs as a daemon, stdout is typically routed to /dev/null.
Instead change all these functions to take a stdio FILE * handle instead. An application can then use open_memstream() to capture the output.
Signed-off-by: Stephen Hemminger <[email protected]> [Thomas: fix quota_watermark example] Acked-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 ...
|
| #
e9d48c00 |
| 10-Feb-2014 |
Bruce Richardson <[email protected]> |
update Intel copyright years to 2014
Signed-off-by: Bruce Richardson <[email protected]>
|
|
Revision tags: v1.4.1r2, v1.5.0r1, v1.5.0r0 |
|
| #
1c1d4d7a |
| 18-Sep-2013 |
Intel <intel.com> |
doc: whitespace changes in licenses
Signed-off-by: Intel
|
|
Revision tags: v1.4.1r1, v1.4.1r0, v1.4.0r0, v1.3.1r3, v1.3.1r2, v1.3.1r1, v1.3.1r0, v1.3.0r0, v1.2.3r4, v1.2.3r3 |
|
| #
e987449c |
| 03-Jun-2013 |
Intel <intel.com> |
timer: prefer TSC to HPET
Signed-off-by: Intel
|
|
Revision tags: v1.2.3r2, v1.2.3r1 |
|
| #
b6df9fc8 |
| 12-Mar-2013 |
Intel <intel.com> |
update copyright date to 2013
Signed-off-by: Intel
|
|
Revision tags: v1.2.3r0 |
|
| #
e242c810 |
| 19-Dec-2012 |
Intel <intel.com> |
app: split performance tests
Signed-off-by: Intel
|