| 0787cdbc | 22-Oct-2024 |
Huichao cai <chcchc88@163.com> |
graph: add more infos to node dump
The function node_dump add some printing of node information.
Signed-off-by: Huichao cai <chcchc88@163.com> Acked-by: Kiran Kumar Kokkilagadda <kirankumark@marvel
graph: add more infos to node dump
The function node_dump add some printing of node information.
Signed-off-by: Huichao cai <chcchc88@163.com> Acked-by: Kiran Kumar Kokkilagadda <kirankumark@marvell.com>
show more ...
|
| 28f0225a | 30-Sep-2024 |
Robin Jarry <rjarry@redhat.com> |
graph: expose node context as pointers
In some cases, the node context data is used to store two pointers because the data is larger than the reserved 16 bytes. Having to define intermediate structu
graph: expose node context as pointers
In some cases, the node context data is used to store two pointers because the data is larger than the reserved 16 bytes. Having to define intermediate structures just to be able to cast is tedious. And without intermediate structures, casting to opaque pointers is hard without violating strict aliasing rules.
Add an unnamed union to allow storing opaque pointers in the node context. Unfortunately, aligning an unnamed union that contains an array produces inconsistent results between C and C++. To preserve ABI/API compatibility in both C and C++, move all fast-path area fields into an unnamed struct which is itself cache aligned. Use __rte_cache_aligned to preserve existing alignment on architectures where cache lines are 128 bytes.
Add a static assert to ensure that the fast path area does not grow beyond a 64 bytes cache line.
Signed-off-by: Robin Jarry <rjarry@redhat.com> Acked-by: Kiran Kumar K <kirankumark@marvell.com>
show more ...
|
| 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 ...
|
| 7d18ab56 | 01-Apr-2024 |
Robin Jarry <rjarry@redhat.com> |
graph: fix stats retrieval while destroying a graph
In rte_graph_cluster_stats_get, the walk model of the first graph is checked to determine if multi-core dispatch specific counters should be updat
graph: fix stats retrieval while destroying a graph
In rte_graph_cluster_stats_get, the walk model of the first graph is checked to determine if multi-core dispatch specific counters should be updated or not. This global list is accessed without any locks.
If the global list is modified by another thread while rte_graph_cluster_stats_get is called, it can result in undefined behaviour.
Adding a lock would make it impossible to call rte_graph_cluster_stats_get in packet processing code paths. Avoid accessing the global list instead by storing a bool field in the private rte_graph_cluster_stats structure.
Also update the default callback to avoid accessing the global list and use a different default callback depending on the graph model.
Fixes: 358ff83fe88c ("graph: add stats for mcore dispatch model") Cc: stable@dpdk.org
Signed-off-by: Robin Jarry <rjarry@redhat.com> Acked-by: Kiran Kumar K <kirankumark@marvell.com>
show more ...
|
| 358ff83f | 14-Jun-2023 |
Zhirun Yan <zhirun.yan@intel.com> |
graph: add stats for mcore dispatch model
Add stats for mcore dispatch model if stats collection is enabled.
Signed-off-by: Haiyue Wang <haiyue.wang@intel.com> Signed-off-by: Cunming Liang <cunming
graph: add stats for mcore dispatch model
Add stats for mcore dispatch model if stats collection is enabled.
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> Acked-by: Pavan Nikhilesh <pbhagavatula@marvell.com>
show more ...
|
| 8b78671d | 14-Jun-2023 |
Zhirun Yan <zhirun.yan@intel.com> |
graph: enable graph multicore dispatch scheduler model
This patch enables to chose new scheduler model. Must define RTE_GRAPH_MODEL_SELECT before including rte_graph_worker.h to enable specific mode
graph: enable graph multicore dispatch scheduler model
This patch enables to chose new scheduler model. Must define RTE_GRAPH_MODEL_SELECT before including rte_graph_worker.h to enable specific model choosing.
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> Acked-by: Pavan Nikhilesh <pbhagavatula@marvell.com>
show more ...
|
| 35dfd9b9 | 14-Jun-2023 |
Zhirun Yan <zhirun.yan@intel.com> |
graph: introduce graph walk by cross-core dispatch
This patch introduces the task scheduler mechanism to enable dispatching tasks to another worker cores. Currently, there is only a local work queue
graph: introduce graph walk by cross-core dispatch
This patch introduces the task scheduler mechanism to enable dispatching tasks to another worker cores. Currently, there is only a local work queue for one graph to walk. We introduce a scheduler worker queue in each worker core for dispatching tasks. It will perform the walk on scheduler work queue first, then handle the local work queue.
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> Acked-by: Pavan Nikhilesh <pbhagavatula@marvell.com>
show more ...
|