|
Revision tags: v24.11, v24.11-rc4, v24.11-rc3, v24.11-rc2, v24.11-rc1 |
|
| #
5b8d861c |
| 28-Aug-2024 |
Robin Jarry <rjarry@redhat.com> |
graph: make graphviz export more readable
Change the color of arrows leading to sink nodes to dark orange. Remove the node oval shape around the sink nodes and make their text dark orange. This resu
graph: make graphviz export more readable
Change the color of arrows leading to sink nodes to dark orange. Remove the node oval shape around the sink nodes and make their text dark orange. This results in a much more readable output for large graphs. See the link below for an example.
Link: https://f.jarry.cc/rte-graph-dot/ipv6.svg Signed-off-by: Robin Jarry <rjarry@redhat.com> Acked-by: Kiran Kumar K <kirankumark@marvell.com>
show more ...
|
|
Revision tags: v24.07, v24.07-rc4, v24.07-rc3, v24.07-rc2, v24.07-rc1, v24.03, v24.03-rc4 |
|
| #
cd764142 |
| 20-Mar-2024 |
Robin Jarry <rjarry@redhat.com> |
graph: enhance graphviz export
* Quote graph name to avoid parsing errors when it contains a dash. * Use fixed margin and smaller font for a more compact layout. * Use sans-serif font, the default i
graph: enhance graphviz export
* Quote graph name to avoid parsing errors when it contains a dash. * Use fixed margin and smaller font for a more compact layout. * Use sans-serif font, the default is times new roman which is not the best choice for a packet processing generated graph. * Force bold blue border and arrows for source nodes. * Force dark orange borders for sink nodes (nodes without next nodes).
Link: https://f.jarry.cc/rte-graph-dot/before.svg Link: https://f.jarry.cc/rte-graph-dot/after.svg
Signed-off-by: Robin Jarry <rjarry@redhat.com> Acked-by: Kiran Kumar K <kirankumark@marvell.com>
show more ...
|
| #
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 ...
|
|
Revision tags: v24.03-rc3, v24.03-rc2, v24.03-rc1, v23.11, v23.11-rc4, v23.11-rc3, v23.11-rc2, v23.11-rc1, v23.07, v23.07-rc4, v23.07-rc3 |
|
| #
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 ...
|
|
Revision tags: v23.07-rc2 |
|
| #
e7728f6d |
| 14-Jun-2023 |
Zhirun Yan <zhirun.yan@intel.com> |
graph: enable create and destroy graph scheduling workqueue
This patch enables to create and destroy scheduling workqueue into common graph operations.
Signed-off-by: Haiyue Wang <haiyue.wang@intel
graph: enable create and destroy graph scheduling workqueue
This patch enables to create and destroy scheduling workqueue into common graph operations.
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 ...
|
| #
1e2aed1a |
| 14-Jun-2023 |
Zhirun Yan <zhirun.yan@intel.com> |
graph: introduce stream moving cross cores
This patch introduces key functions to allow a worker thread to enable enqueue and move streams of objects to the next nodes over different cores for mcore
graph: introduce stream moving cross cores
This patch introduces key functions to allow a worker thread to enable enqueue and move streams of objects to the next nodes over different cores for mcore dispatch 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: Pavan Nikhilesh <pbhagavatula@marvell.com>
show more ...
|
| #
e6c67c9e |
| 14-Jun-2023 |
Zhirun Yan <zhirun.yan@intel.com> |
graph: add structure for stream moving between cores
Add graph_mcore_dispatch_wq_node to hold graph scheduling workqueue node.
Signed-off-by: Haiyue Wang <haiyue.wang@intel.com> Signed-off-by: Cunm
graph: add structure for stream moving between cores
Add graph_mcore_dispatch_wq_node to hold graph scheduling workqueue node.
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>
show more ...
|
| #
d6e2e9d8 |
| 14-Jun-2023 |
Zhirun Yan <zhirun.yan@intel.com> |
graph: introduce graph clone API for other worker core
This patch adds graph API for supporting to clone the graph object for a specified worker core. The new graph will also clone all nodes.
Signe
graph: introduce graph clone API for other worker core
This patch adds graph API for supporting to clone the graph object for a specified worker core. The new graph will also clone all nodes.
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 ...
|
| #
ecb22a29 |
| 14-Jun-2023 |
Zhirun Yan <zhirun.yan@intel.com> |
graph: introduce graph bind unbind API
Add lcore_id for graph to hold affinity core id where graph would run on. Add bind/unbind API to set/unset graph affinity attribute. lcore_id will be set as MA
graph: introduce graph bind unbind API
Add lcore_id for graph to hold affinity core id where graph would run on. Add bind/unbind API to set/unset graph affinity attribute. lcore_id will be set as MAX by default, it means not enable this attribute.
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 ...
|
|
Revision tags: v23.07-rc1 |
|
| #
476fd9a2 |
| 04-Apr-2023 |
David Marchand <david.marchand@redhat.com> |
graph: annotate graph lock
Export internal lock and annotate associated helper.
Signed-off-by: David Marchand <david.marchand@redhat.com>
|
|
Revision tags: v23.03, v23.03-rc4, v23.03-rc3, v23.03-rc2, v23.03-rc1 |
|
| #
9b72ea1f |
| 09-Feb-2023 |
Amit Prakash Shukla <amitprakashs@marvell.com> |
graph: pcap capture for graph nodes
Implementation adds support to capture packets at each node with packet metadata and node name. The l3fwd-graph example is extended to support this new feature.
graph: pcap capture for graph nodes
Implementation adds support to capture packets at each node with packet metadata and node name. The l3fwd-graph example is extended to support this new feature.
Signed-off-by: Amit Prakash Shukla <amitprakashs@marvell.com> Acked-by: Jerin Jacob <jerinj@marvell.com>
show more ...
|
|
Revision tags: v22.11, v22.11-rc4, v22.11-rc3, v22.11-rc2, v22.11-rc1 |
|
| #
72b452c5 |
| 27-Aug-2022 |
Dmitry Kozlyuk <dmitry.kozliuk@gmail.com> |
eal: remove unneeded includes from a public header
Do not include <ctype.h>, <errno.h>, and <stdlib.h> from <rte_common.h>, because they are not used by this file. Include the needed headers directl
eal: remove unneeded includes from a public header
Do not include <ctype.h>, <errno.h>, and <stdlib.h> from <rte_common.h>, because they are not used by this file. Include the needed headers directly from the files that need them.
Signed-off-by: Dmitry Kozlyuk <dmitry.kozliuk@gmail.com> Acked-by: Bruce Richardson <bruce.richardson@intel.com>
show more ...
|
|
Revision tags: v22.07, v22.07-rc4, v22.07-rc3, v22.07-rc2, v22.07-rc1, v22.03, v22.03-rc4, v22.03-rc3, v22.03-rc2, v22.03-rc1, 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 |
|
| #
eeded204 |
| 26-Apr-2021 |
David Marchand <david.marchand@redhat.com> |
log: register with standardized names
Let's try to enforce the convention where most drivers use a pmd. logtype with their class reflected in it, and libraries use a lib. logtype.
Introduce two new
log: register with standardized names
Let's try to enforce the convention where most drivers use a pmd. logtype with their class reflected in it, and libraries use a lib. logtype.
Introduce two new macros: - RTE_LOG_REGISTER_DEFAULT can be used when a single logtype is used in a component. It is associated to the default name provided by the build system, - RTE_LOG_REGISTER_SUFFIX can be used when multiple logtypes are used, and then the passed name is appended to the default name,
RTE_LOG_REGISTER is left untouched for existing external users and for components that do not comply with the convention.
There is a new Meson variable log_prefix to adapt the default name for baseband (pmd.bb.), bus (no pmd.) and mempool (no pmd.) classes.
Note: achieved with below commands + reverted change on net/bonding + edits on crypto/virtio, compress/mlx5, regex/mlx5
$ git grep -l RTE_LOG_REGISTER drivers/ | while read file; do pattern=${file##drivers/}; class=${pattern%%/*}; pattern=${pattern#$class/}; drv=${pattern%%/*}; case "$class" in baseband) pattern=pmd.bb.$drv;; bus) pattern=bus.$drv;; mempool) pattern=mempool.$drv;; *) pattern=pmd.$class.$drv;; esac sed -i -e 's/RTE_LOG_REGISTER(\(.*\), '$pattern',/RTE_LOG_REGISTER_DEFAULT(\1,/' $file; sed -i -e 's/RTE_LOG_REGISTER(\(.*\), '$pattern'\.\(.*\),/RTE_LOG_REGISTER_SUFFIX(\1, \2,/' $file; done
$ git grep -l RTE_LOG_REGISTER lib/ | while read file; do pattern=${file##lib/}; pattern=lib.${pattern%%/*}; sed -i -e 's/RTE_LOG_REGISTER(\(.*\), '$pattern',/RTE_LOG_REGISTER_DEFAULT(\1,/' $file; sed -i -e 's/RTE_LOG_REGISTER(\(.*\), '$pattern'\.\(.*\),/RTE_LOG_REGISTER_SUFFIX(\1, \2,/' $file; done
Signed-off-by: David Marchand <david.marchand@redhat.com> Signed-off-by: Thomas Monjalon <thomas@monjalon.net> Acked-by: Bruce Richardson <bruce.richardson@intel.com>
show more ...
|
|
Revision tags: v21.05-rc1 |
|
| #
99a2dd95 |
| 20-Apr-2021 |
Bruce Richardson <bruce.richardson@intel.com> |
lib: remove librte_ prefix from directory names
There is no reason for the DPDK libraries to all have 'librte_' prefix on the directory names. This prefix makes the directory names longer and also m
lib: remove librte_ prefix from directory names
There is no reason for the DPDK libraries to all have 'librte_' prefix on the directory names. This prefix makes the directory names longer and also makes it awkward to add features referring to individual libraries in the build - should the lib names be specified with or without the prefix. Therefore, we can just remove the library prefix and use the library's unique name as the directory name, i.e. 'eal' rather than 'librte_eal'
Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
show more ...
|