History log of /dpdk/lib/graph/graph.c (Results 1 – 14 of 14)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
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 ...