[dpdk-test-report]|SUCCESS | dpdk|203dcc9cfe| Intel-Testing
sys_stv at intel.com
sys_stv at intel.com
Mon Nov 14 12:16:28 CET 2022
Test-Label: intel-Testing
Test-Status: SUCCESS
_Testing PASS
DPDK git repo: dpdk
commit 203dcc9cfe4151518bb5a5c59ee22a754e649e35
Author: Morten Brørup <mb at smartsharesystems.com>
Date: Wed Nov 9 19:18:52 2022 +0100
mempool: use cache for frequently updated stats
When built with stats enabled (RTE_LIBRTE_MEMPOOL_STATS defined),
the performance of mempools with caches is improved as follows.
When accessing objects in the mempool, either the put_bulk and put_objs or
the get_success_bulk and get_success_objs statistics counters are likely
to be incremented.
By adding an alternative set of these counters to the mempool cache
structure, accessing the dedicated statistics structure is avoided
in the likely cases where these counters are incremented.
The trick here is that the cache line holding the mempool cache structure
is accessed anyway, in order to access the 'len' or 'flushthresh' fields.
Updating some statistics counters in the same cache line has lower
performance cost than accessing the statistics counters in the dedicated
statistics structure, which resides in another cache line.
mempool_perf_autotest with this patch shows the following improvements in
rate_persec.
The cost of enabling mempool stats (without debug) after this patch:
-6.8 % and -6.7 %, respectively without and with cache.
Signed-off-by: Morten Brørup <mb at smartsharesystems.com>
Reviewed-by: Andrew Rybchenko <andrew.rybchenko at oktetlabs.ru>
Reviewed-by: Mattias Rönnblom <mattias.ronnblom at ericsson.com>
Acked-by: Konstantin Ananyev <konstantin.ananyev at huawei.com>
Testing Summary : 18 Case Done, 18 Successful, 0 Failures
Testbed #1: 9 Case Done, 9 Successful, 0 Failures
* Test result details:
+-------------+---------------------------+-------+
| suite | case | status|
+-------------+---------------------------+-------+
| asan_smoke | test_rxtx_with_ASan_enable| passed|
| pf_smoke | test_pf_jumbo_frames | passed|
| pf_smoke | test_pf_rss | passed|
| pf_smoke | test_pf_tx_rx_queue | passed|
| vf_smoke | test_vf_jumbo_frames | passed|
| vf_smoke | test_vf_rss | passed|
| vf_smoke | test_vf_tx_rx_queue | passed|
| virtio_smoke| test_virtio_loopback | passed|
| virtio_smoke| test_virtio_pvp | passed|
+-------------+---------------------------+-------+
* Environment:
OS : Ubuntu 20.04.5 LTS
Kernel : 5.8.0-63-generic
GCC : 9.4.0-1ubuntu1~20.04.1
NIC : Ethernet Controller E810-C for SFP
Target : x86_64-native-linuxapp-gcc
Testbed #2: 9 Case Done, 9 Successful, 0 Failures
* Test result details:
+-------------+---------------------------+-------+
| suite | case | status|
+-------------+---------------------------+-------+
| asan_smoke | test_rxtx_with_ASan_enable| passed|
| pf_smoke | test_pf_jumbo_frames | passed|
| pf_smoke | test_pf_rss | passed|
| pf_smoke | test_pf_tx_rx_queue | passed|
| vf_smoke | test_vf_rss | passed|
| vf_smoke | test_vf_tx_rx_queue | passed|
| vf_smoke | test_vf_jumbo_frames | n/a |
| virtio_smoke| test_virtio_loopback | passed|
| virtio_smoke| test_virtio_pvp | passed|
+-------------+---------------------------+-------+
* Environment:
OS : Ubuntu 20.04.5 LTS
Kernel : 5.13.0-30-generic
GCC : 9.4.0-1ubuntu1~20.04.1
NIC : Ethernet Controller XL710 for 40GbE QSFP+
Target : x86_64-native-linuxapp-gcc
TestPlan:
pf_smoke: http://git.dpdk.org/tools/dts/tree/test_plans/pf_smoke_test_plan.rst
vf_smoke: http://git.dpdk.org/tools/dts/tree/test_plans/vf_smoke_test_plan.rst
asan_smoke: http://git.dpdk.org/tools/dts/tree/test_plans/asan_smoke_test_plan.rst
TestSuite:
pf_smoke: http://git.dpdk.org/tools/dts/tree/tests/TestSuite_pf_smoke.py
vf_smoke: http://git.dpdk.org/tools/dts/tree/tests/TestSuite_vf_smoke.py
virtio_smoke: http://git.dpdk.org/tools/dts/tree/tests/TestSuite_virtio_smoke.py
asan_smoke: http://git.dpdk.org/tools/dts/tree/tests/TestSuite_asan_smoke.py
DPDK STV team
More information about the test-report
mailing list