|
Revision tags: v22.03, v22.03-rc4, v22.03-rc3, v22.03-rc2, v22.03-rc1, v21.11, v21.11-rc4, v21.11-rc3 |
|
| #
4c6b0e9b |
| 17-Nov-2021 |
Joyce Kong <[email protected]> |
test/ring_perf: use compiler atomic builtins for lcores sync
Convert rte_atomic usages to compiler atomic built-ins for lcores sync in ring_perf test cases.
Signed-off-by: Joyce Kong <joyce.kong@ar
test/ring_perf: use compiler atomic builtins for lcores sync
Convert rte_atomic usages to compiler atomic built-ins for lcores sync in ring_perf test cases.
Signed-off-by: Joyce Kong <[email protected]> Reviewed-by: Ruifeng Wang <[email protected]> Reviewed-by: Honnappa Nagarahalli <[email protected]>
show more ...
|
|
Revision tags: 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 |
|
| #
d310d642 |
| 29-Jan-2021 |
Feifei Wang <[email protected]> |
test/ring: reduce duration of performance tests
When testing ring performance in the case that multiple lcores are mapped to the same physical core, e.g. --lcores '(0-3)@10', it takes a very long ti
test/ring: reduce duration of performance tests
When testing ring performance in the case that multiple lcores are mapped to the same physical core, e.g. --lcores '(0-3)@10', it takes a very long time to wait for the "enqueue_dequeue_bulk_helper" to finish. This is because too much iteration numbers and extremely low efficiency for enqueue and dequeue with this kind of core mapping. Following are the test results to show the above phenomenon:
x86-Intel(R) Xeon(R) Gold 6240: $sudo ./app/test/dpdk-test --lcores '(0-1)@25' Testing using two hyperthreads(bulk (size: 8):) iter_shift: 3 5 7 9 11 13 *15 17 19 21 23 run time: 7s 7s 7s 8s 9s 16s 47s 170s 660s >0.5h >1h legacy APIs: SP/SC: 37 11 6 40525 40525 40209 40367 40407 40541 NoData NoData legacy APIs: MP/MC: 56 14 11 50657 40526 40526 40526 40625 40585 NoData NoData
aarch64-n1sdp: $sudo ./app/test/dpdk-test --lcore '(0-1)@1' Testing using two hyperthreads(bulk (size: 8):) iter_shift: 3 5 7 9 11 13 *15 17 19 21 23 run time: 8s 8s 8s 9s 9s 14s 34s 111s 418s 25min >1h legacy APIs: SP/SC: 0.4 0.2 0.1 488 488 488 488 488 489 489 NoData legacy APIs: MP/MC: 0.4 0.3 0.2 488 488 488 488 490 489 489 NoData
As the number of iterations increases, so does the time which is required to run the program. Currently (iter_shift = 23), it will take more than 1 hour to wait for the test to finish. To fix this, the "iter_shift" should decrease and ensure enough iterations to keep the test data stable. In order to achieve this, we also test with "-l" EAL argument:
x86-Intel(R) Xeon(R) Gold 6240: $sudo ./app/test/dpdk-test -l 25-26 Testing using two NUMA nodes(bulk (size: 8):) iter_shift: 3 5 7 9 11 13 *15 17 19 21 23 run time: 6s 6s 6s 6s 6s 6s 6s 7s 8s 11s 27s legacy APIs: SP/SC: 47 20 13 22 54 83 91 73 81 75 95 legacy APIs: MP/MC: 44 18 18 240 245 270 250 249 252 250 253
aarch64-n1sdp: $sudo ./app/test/dpdk-test -l 1-2 Testing using two physical cores(bulk (size: 8):) iter_shift: 3 5 7 9 11 13 *15 17 19 21 23 run time: 8s 8s 8s 8s 8s 8s 8s 9s 9s 11s 23s legacy APIs: SP/SC: 0.7 0.4 1.2 1.8 2.0 2.0 2.0 2.0 2.0 2.0 2.0 legacy APIs: MP/MC: 0.3 0.4 1.3 1.9 2.9 2.9 2.9 2.9 2.9 2.9 2.9
According to above test data, when "iter_shift" is set as "15", the test run time is reduced to less than 1 minute and the test result can keep stable in x86 and aarch64 servers.
Fixes: 1fa5d0099efc ("test/ring: add custom element size performance tests") Cc: [email protected]
Signed-off-by: Feifei Wang <[email protected]> Reviewed-by: Honnappa Nagarahalli <[email protected]> Reviewed-by: Ruifeng Wang <[email protected]> Acked-by: Konstantin Ananyev <[email protected]>
show more ...
|
|
Revision tags: 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 |
|
| #
50959a89 |
| 08-Jun-2020 |
Feifei Wang <[email protected]> |
test/ring: fix statistics in bulk enq/dequeue
In size 32 bulk ring enq/dequeue performance test, the "Total count" statistics is incorrect. For example, running the test on lcore 25 and lcore 26, th
test/ring: fix statistics in bulk enq/dequeue
In size 32 bulk ring enq/dequeue performance test, the "Total count" statistics is incorrect. For example, running the test on lcore 25 and lcore 26, the output is as follows:
The test command: $sudo ./arm64-armv8a-linuxapp-gcc/app/test -l 25-26 RTE>>ring_perf_autotest
Bulk enq/dequeue count on size 32 Core [25] count = 288268 Core [26] count = 288281 Total count (size: 32): 1066323
Fixed it by reset the counter at the beginning of each loop. The revised output is as follows:
Bulk enq/dequeue count on size 32 Core [25] count = 285643 Core [26] count = 285688 Total count (size: 32): 571331
Fixes: 759cf9b5632c ("test/ring: enhance mp/mc coverage") Cc: [email protected]
Signed-off-by: Feifei Wang <[email protected]> Reviewed-by: Ruifeng Wang <[email protected]> Reviewed-by: Phil Yang <[email protected]> Acked-by: Konstantin Ananyev <[email protected]>
show more ...
|
|
Revision tags: v20.05, v20.05-rc4, v20.05-rc3, v20.05-rc2, v20.05-rc1, v20.02, v20.02-rc4, v20.02-rc3, v20.02-rc2 |
|
| #
71bdd8a1 |
| 24-Jan-2020 |
Pavan Nikhilesh <[email protected]> |
app: use common macro RTE_DIM
Use RTE_DIM macro to calculate array size.
Suggested-by: David Marchand <[email protected]> Signed-off-by: Pavan Nikhilesh <[email protected]> Acked-by:
app: use common macro RTE_DIM
Use RTE_DIM macro to calculate array size.
Suggested-by: David Marchand <[email protected]> Signed-off-by: Pavan Nikhilesh <[email protected]> Acked-by: David Marchand <[email protected]>
show more ...
|
|
Revision tags: v20.02-rc1 |
|
| #
1fa5d009 |
| 18-Jan-2020 |
Honnappa Nagarahalli <[email protected]> |
test/ring: add custom element size performance tests
Adjust the performance test cases to test rte_ring_xxx_elem APIs.
Signed-off-by: Honnappa Nagarahalli <[email protected]> Reviewed-by
test/ring: add custom element size performance tests
Adjust the performance test cases to test rte_ring_xxx_elem APIs.
Signed-off-by: Honnappa Nagarahalli <[email protected]> Reviewed-by: Gavin Hu <[email protected]> Acked-by: Olivier Matz <[email protected]>
show more ...
|
| #
542cf18b |
| 18-Jan-2020 |
Honnappa Nagarahalli <[email protected]> |
test/ring: use division for cycle count calculation
Use division instead of modulo operation to calculate more accurate cycle count.
Signed-off-by: Honnappa Nagarahalli <[email protected]
test/ring: use division for cycle count calculation
Use division instead of modulo operation to calculate more accurate cycle count.
Signed-off-by: Honnappa Nagarahalli <[email protected]> Acked-by: Olivier Matz <[email protected]>
show more ...
|
|
Revision tags: v19.11, v19.11-rc4, v19.11-rc3, v19.11-rc2, v19.11-rc1 |
|
| #
759cf9b5 |
| 09-Sep-2019 |
Joyce Kong <[email protected]> |
test/ring: enhance mp/mc coverage
Run ring perf test on all available cores to really verify MPMC operations. The old way of running on a pair of cores is not enough for MPMC rings.
Suggested-by: G
test/ring: enhance mp/mc coverage
Run ring perf test on all available cores to really verify MPMC operations. The old way of running on a pair of cores is not enough for MPMC rings.
Suggested-by: Gavin Hu <[email protected]> Signed-off-by: Joyce Kong <[email protected]> Reviewed-by: Ruifeng Wang <[email protected]> Reviewed-by: Honnappa Nagarahalli <[email protected]> Reviewed-by: Dharmik Thakkar <[email protected]> Reviewed-by: Ola Liljedahl <[email protected]> Reviewed-by: Gavin Hu <[email protected]> Acked-by: Olivier Matz <[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 |
|
| #
e4eb7b06 |
| 08-Apr-2019 |
Phil Yang <[email protected]> |
test/ring: replace sync with atomic builtins
'__sync' built-in functions are deprecated, should use the '__atomic' built-in instead. the sync built-in functions are full barriers, while atomic built
test/ring: replace sync with atomic builtins
'__sync' built-in functions are deprecated, should use the '__atomic' built-in instead. the sync built-in functions are full barriers, while atomic built-in functions offer less restrictive one-way barriers, which help performance.
Here is the example test result on TX2: sudo ./arm64-armv8a-linuxapp-gcc/app/test -c 0x7fffffe \ -n 4 --socket-mem=1024,0 --file-prefix=~ -- -i RTE>>ring_perf_autotest
*** ring_perf_autotest without this patch *** SP/SC bulk enq/dequeue (size: 8): 6.22 MP/MC bulk enq/dequeue (size: 8): 11.50 SP/SC bulk enq/dequeue (size: 32): 1.85 MP/MC bulk enq/dequeue (size: 32): 2.66
*** ring_perf_autotest with this patch *** SP/SC bulk enq/dequeue (size: 8): 6.13 MP/MC bulk enq/dequeue (size: 8): 9.83 SP/SC bulk enq/dequeue (size: 32): 1.96 MP/MC bulk enq/dequeue (size: 32): 2.30
So for the ring performance test, this patch improved 11% of ring operations performance.
Signed-off-by: Phil Yang <[email protected]> Reviewed-by: Gavin Hu <[email protected]> Reviewed-by: Joyce Kong <[email protected]> Reviewed-by: Dharmik Thakkar <[email protected]>
show more ...
|
| #
de307f7a |
| 31-May-2019 |
Stephen Hemminger <[email protected]> |
test: use lcore accessors
Don't refer to lcore_config directly.
Signed-off-by: Stephen Hemminger <[email protected]> Signed-off-by: David Marchand <[email protected]>
|
|
Revision tags: 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, 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, v2.1.0, v2.1.0-rc4, v2.1.0-rc3, v2.1.0-rc2, v2.1.0-rc1 |
|
| #
f12f13f2 |
| 15-Apr-2015 |
Thomas Monjalon <[email protected]> |
use simple zero initializers
To initialize a structure with zeros, one field was explicitly set to avoid "missing initializer" bug with old GCC (e.g. 4.4). This warning is now disabled (commit <inse
use simple zero initializers
To initialize a structure with zeros, one field was explicitly set to avoid "missing initializer" bug with old GCC (e.g. 4.4). This warning is now disabled (commit <insertlater>) for old versions of GCC, so the workarounds may be removed.
These initializers should not be needed for static variables but they are still used to workaround an ICC bug (see commit b2595c4aa92d).
There is one remaining exception where {0} initializer doesn't work cleanly, even with recent GCC: lib/librte_pmd_ixgbe/ixgbe_rxtx_vec.c:735:9: error: missing braces around initializer [-Werror=missing-braces] struct rte_mbuf mb_def = {0}; /* zeroed mbuf */
Tested with gcc-4.4.7 (CentOS), gcc-4.7.2 (Debian), gcc-4.9.2 (Arch), clang-3.6.0 and icc-13.1.1.
Signed-off-by: Thomas Monjalon <[email protected]> Tested-by: Thomas Monjalon <[email protected]> Tested-by: John McNamara <[email protected]> Acked-by: John McNamara <[email protected]> Acked-by: Vlad Zolotarov <[email protected]>
show more ...
|
|
Revision tags: v2.0.0, v2.0.0-rc3, v2.0.0-rc2, 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 ...
|
|
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 |
|
| #
ac3fb301 |
| 03-Jun-2013 |
Intel <intel.com> |
app: rework ring tests
Signed-off-by: Intel
|