#
d5c8b6bb |
| 18-Jun-2024 |
Robin Jarry <rjarry@redhat.com> |
graph: fix ID collisions
The graph id is determined based on a global variable that is incremented every time a graph is created, and decremented every time a graph is destroyed. This only works if
graph: fix ID collisions
The graph id is determined based on a global variable that is incremented every time a graph is created, and decremented every time a graph is destroyed. This only works if graphs are destroyed in the reverse order in which they have been created.
The following code produces duplicate graph IDs which can lead to use-after-free bugs and other undefined behaviours:
a = rte_graph_create(...); // id=0 graph_id=1 b = rte_graph_create(...); // id=1 graph_id=2 rte_graph_destroy(a); // graph_id=1 c = rte_graph_create(...); // id=1 graph_id=2 (duplicate with b) rte_graph_destroy(c); // frees memory still used by b
Remove the global counter. Make sure that the graph list is always ordered by increasing graph ids. When creating a new graph, pick a free id which is not allocated.
Update unit tests to ensure it works as expected.
Fixes: a91fecc19c5c ("graph: implement create and destroy") Cc: stable@dpdk.org
Signed-off-by: Robin Jarry <rjarry@redhat.com> Acked-by: Kiran Kumar K <kirankumark@marvell.com>
show more ...
|
#
08966fe7 |
| 13-Feb-2024 |
Tyler Retzlaff <roretzla@linux.microsoft.com> |
use C11 alignof
Replace use of __alignof__(e) (resp. __alignof__(T) with C11 alignof(typeof(e)) (resp. alignof(T)) to improve portability between toolchains.
Signed-off-by: Tyler Retzlaff <roretzla
use C11 alignof
Replace use of __alignof__(e) (resp. __alignof__(T) with C11 alignof(typeof(e)) (resp. alignof(T)) to improve portability between toolchains.
Signed-off-by: Tyler Retzlaff <roretzla@linux.microsoft.com> Acked-by: Morten Brørup <mb@smartsharesystems.com> Acked-by: Chengwen Feng <fengchengwen@huawei.com> Acked-by: Anoob Joseph <anoobj@marvell.com> Acked-by: Volodymyr Fialko <vfialko@marvell.com> Acked-by: Akhil Goyal <gakhil@marvell.com> Acked-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
show more ...
|
#
c381cd34 |
| 21-Jul-2023 |
Zhirun Yan <zhirun.yan@intel.com> |
test/graph: fix unused return value
Return value stored in "ret" but it may be overwritten before use. Add goto to return when meet an error. Issue reported by coverity scan.
Coverity issue: 395532
test/graph: fix unused return value
Return value stored in "ret" but it may be overwritten before use. Add goto to return when meet an error. Issue reported by coverity scan.
Coverity issue: 395532 Fixes: 15f483feec65 ("graph: fix model check in core binding")
Signed-off-by: Zhirun Yan <zhirun.yan@intel.com> Acked-by: Jerin Jacob <jerinj@marvell.com>
show more ...
|
#
d83fb967 |
| 15-Sep-2023 |
David Marchand <david.marchand@redhat.com> |
test: fix fast, perf and driver testsuites
Some tests (15 fast-tests, 2 perf tests and 7 driver tests) have been lost in the recent changes reworking test suites.
The following method was used to i
test: fix fast, perf and driver testsuites
Some tests (15 fast-tests, 2 perf tests and 7 driver tests) have been lost in the recent changes reworking test suites.
The following method was used to identify them:
$ git grep -h fast_tests.+= e0a8442ccd -- app/test/meson.build fast_tests += [['graph_autotest', true, true]] fast_tests += [['node_list_dump', true, true]] fast_tests += [['metrics_autotest', true, true]] fast_tests += [['telemetry_json_autotest', true, true]] fast_tests += [['telemetry_data_autotest', true, true]] fast_tests += [['table_autotest', true, true]] fast_tests += [['ring_pmd_autotest', true, true]] fast_tests += [['event_eth_tx_adapter_autotest', false, true]] fast_tests += [['bitratestats_autotest', true, true]] fast_tests += [['latencystats_autotest', true, true]] fast_tests += [['pdump_autotest', true, false]] fast_tests += [['vdev_autotest', true, true]] fast_tests += [['rawdev_autotest', true, true]] fast_tests += [['pdcp_autotest', false, true]] fast_tests += [['compressdev_autotest', false, true]]
$ git grep -h perf_test_names.+= e0a8442ccd -- app/test/meson.build perf_test_names += 'graph_perf_autotest' perf_test_names += 'ring_pmd_perf_autotest'
$ git grep -hA4 driver_test_names.+= e0a8442ccd -- app/test/meson.build driver_test_names += [ 'cryptodev_openssl_asym_autotest', 'eventdev_selftest_octeontx', 'eventdev_selftest_sw', ]
-- driver_test_names += ['link_bonding_autotest', 'link_bonding_rssconf_autotest'] if dpdk_conf.has('RTE_NET_RING') test_sources += 'test_link_bonding_mode4.c' driver_test_names += 'link_bonding_mode4_autotest' endif endif if dpdk_conf.has('RTE_LIB_EVENTDEV') and dpdk_conf.has('RTE_NET_RING') test_deps += 'net_ring' -- driver_test_names += 'cryptodev_scheduler_autotest' test_deps += 'crypto_scheduler' endif
foreach d:test_deps
Fixes: e0a8442ccd15 ("test: tag tests type")
Signed-off-by: David Marchand <david.marchand@redhat.com> Acked-by: Bruce Richardson <bruce.richardson@intel.com> Acked-by: Morten Brørup <mb@smartsharesystems.com>
show more ...
|
#
15f483fe |
| 10-Jul-2023 |
Zhirun Yan <zhirun.yan@intel.com> |
graph: fix model check in core binding
This function is used for mcore dispatch model only, correct the check to make sure it is the expected model.
Fix missing worker model selection by invoking r
graph: fix model check in core binding
This function is used for mcore dispatch model only, correct the check to make sure it is the expected model.
Fix missing worker model selection by invoking rte_graph_worker_model_set(RTE_GRAPH_MODEL_MCORE_DISPATCH) in test_graph_model_mcore_dispatch_core_bind_unbind() routine.
Also, updated missing release notes for new mcore dispatch model addition and sample l3fwd-graph update.
Fixes: ecb22a294980 ("graph: introduce graph bind unbind API")
Signed-off-by: Zhirun Yan <zhirun.yan@intel.com> Acked-by: Jerin Jacob <jerinj@marvell.com>
show more ...
|
#
a7f73e53 |
| 10-Jul-2023 |
Zhirun Yan <zhirun.yan@intel.com> |
test/graph: fix parameters of clone function
rte_graph_clone() should use a valid param rather than NULL pointer as it needs the param for alloc work queue memory for mcore dispatch model in graph_s
test/graph: fix parameters of clone function
rte_graph_clone() should use a valid param rather than NULL pointer as it needs the param for alloc work queue memory for mcore dispatch model in graph_sched_wq_create().
Fixes: 67e2303cd823 ("test/graph: add functional tests for mcore dispatch model")
Signed-off-by: Zhirun Yan <zhirun.yan@intel.com> Acked-by: Jerin Jacob <jerinj@marvell.com>
show more ...
|
#
67e2303c |
| 14-Jun-2023 |
Zhirun Yan <zhirun.yan@intel.com> |
test/graph: add functional tests for mcore dispatch model
Add functional test for mcore dispatch model including graph clone, graph model set/get, node worker affinity, graph worker binding/unbindin
test/graph: add functional tests for mcore dispatch model
Add functional test for mcore dispatch model including graph clone, graph model set/get, node worker affinity, graph worker binding/unbinding.
Signed-off-by: Haiyue Wang <haiyue.wang@intel.com> Signed-off-by: Cunming Liang <cunming.liang@intel.com> Signed-off-by: Zhirun Yan <zhirun.yan@intel.com> Acked-by: Pavan Nikhilesh <pbhagavatula@marvell.com>
show more ...
|
#
a2bc0584 |
| 14-Jun-2023 |
Zhirun Yan <zhirun.yan@intel.com> |
graph: split graph worker into common and default model
To support multiple graph worker model, split graph into common and default. Naming the current walk function as rte_graph_model_rtc cause the
graph: split graph worker into common and default model
To support multiple graph worker model, split graph into common and default. Naming the current walk function as rte_graph_model_rtc cause the default model is RTC(Run-to-completion).
Signed-off-by: Haiyue Wang <haiyue.wang@intel.com> Signed-off-by: Cunming Liang <cunming.liang@intel.com> Signed-off-by: Zhirun Yan <zhirun.yan@intel.com> Acked-by: Jerin Jacob <jerinj@marvell.com>
show more ...
|
#
421073c0 |
| 14-Jun-2023 |
Zhirun Yan <zhirun.yan@intel.com> |
graph: rename rte graph worker header as common
Rename rte_graph_work.h to rte_graph_work_common.h for supporting multiple graph worker model.
Signed-off-by: Haiyue Wang <haiyue.wang@intel.com> Sig
graph: rename rte graph worker header as common
Rename rte_graph_work.h to rte_graph_work_common.h for supporting multiple graph worker model.
Signed-off-by: Haiyue Wang <haiyue.wang@intel.com> Signed-off-by: Cunming Liang <cunming.liang@intel.com> Signed-off-by: Zhirun Yan <zhirun.yan@intel.com> Acked-by: Jerin Jacob <jerinj@marvell.com>
show more ...
|
#
6eccb0c9 |
| 07-Mar-2022 |
Haiyue Wang <haiyue.wang@intel.com> |
graph: remove useless duplicate name check
The node clone API parameter 'name' is the new node's postfix name, not the final node name, so it makes no sense to check it. And the new name will be che
graph: remove useless duplicate name check
The node clone API parameter 'name' is the new node's postfix name, not the final node name, so it makes no sense to check it. And the new name will be checked duplicate when calling API '__rte_node_register'.
And update the test case to call clone API twice to check the real name duplicate.
Signed-off-by: Haiyue Wang <haiyue.wang@intel.com> Acked-by: Jerin Jacob <jerinj@marvell.com>
show more ...
|
#
3c60274c |
| 26-Jan-2022 |
Jie Zhou <jizh@linux.microsoft.com> |
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 <jizh@linux.microsoft.com> Signed-off-by: Dmitry Kozlyuk <dmitry.kozliuk@gmail.com> Acked-by: Tyler Retzlaff <roretzla@linux.microsoft.com>
show more ...
|
#
e2e01583 |
| 26-Oct-2020 |
Thomas Monjalon <thomas@monjalon.net> |
test/graph: switch user data to dynamic mbuf field
The test used the deprecated mbuf field udata64. It is moved to a dynamic field in order to allow removal of udata64.
Signed-off-by: Thomas Monjal
test/graph: switch user data to dynamic mbuf field
The test used the deprecated mbuf field udata64. It is moved to a dynamic field in order to allow removal of udata64.
Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
show more ...
|
#
c5a56c58 |
| 15-May-2020 |
Kiran Kumar K <kirankumark@marvell.com> |
test/graph: fix memory leaks in functional tests
Fix memory leaks reported by Coverity.
Fixes: 6b89650418 ("test/graph: add functional tests")
Signed-off-by: Kiran Kumar K <kirankumark@marvell.com
test/graph: fix memory leaks in functional tests
Fix memory leaks reported by Coverity.
Fixes: 6b89650418 ("test/graph: add functional tests")
Signed-off-by: Kiran Kumar K <kirankumark@marvell.com> Acked-by: Jerin Jacob <jerinj@marvell.com>
show more ...
|
#
9330521c |
| 15-May-2020 |
Kiran Kumar K <kirankumark@marvell.com> |
test/graph: use better randomness
Fix weak crypto issues reported by Coverity.
Fixes: 6b89650418 ("test/graph: add functional tests")
Signed-off-by: Kiran Kumar K <kirankumark@marvell.com> Acked-b
test/graph: use better randomness
Fix weak crypto issues reported by Coverity.
Fixes: 6b89650418 ("test/graph: add functional tests")
Signed-off-by: Kiran Kumar K <kirankumark@marvell.com> Acked-by: Jerin Jacob <jerinj@marvell.com>
show more ...
|
#
6b896504 |
| 11-Apr-2020 |
Kiran Kumar K <kirankumark@marvell.com> |
test/graph: add functional tests
Adding the unit test to test the functionality of node and graph APIs. Testing includes registering a node, cloning a node, creating a graph, perform graph walk, col
test/graph: add functional tests
Adding the unit test to test the functionality of node and graph APIs. Testing includes registering a node, cloning a node, creating a graph, perform graph walk, collecting stats and all node and graph debug APIs.
example command to test: echo "graph_autotest" | sudo ./build/app/test/dpdk-test -c 0x30
Signed-off-by: Kiran Kumar K <kirankumark@marvell.com> Signed-off-by: Nithin Dabilpuram <ndabilpuram@marvell.com>
show more ...
|