[PATCH v7 0/3] Introduce node-specific xstats in graph library
David Marchand
david.marchand at redhat.com
Wed Oct 16 10:49:55 CEST 2024
On Tue, Oct 15, 2024 at 7:42 AM <pbhagavatula at marvell.com> wrote:
>
> From: Pavan Nikhilesh <pbhagavatula at marvell.com>
>
> Introduce the ability for nodes to advertise xstats counters during
> registration and increment them during the node process function in
> the graph library.
> This enhancement allows for better stats tracking and debugging
> capabilities within the graph framework.
>
> The number of xstats and the mapping of xstat IDs to xstat descriptions
> are defined during node registration.
>
> Example:
> static struct rte_node_xstats ip4_reassembly_xstats = {
> .nb_xstats = 1,
> .xstat_desc = {
> [0] = "ip4_reassembly_error",
> },
> };
>
> Here, "ip4_reassembly_error" is mapped to xstat ID 0, and the same ID is
> used in the `ip4_reassembly_node_process` function to increment reassembly
> errors as an xstat.
> Depending on the node, there can be multiple such xstats that can be
> updated independently and retrieved using `rte_graph_cluster_stats_get`.
>
> Example:
> +-------------------------------+---------------+---------------+--------------+
> |Node |calls |objs |realloc_count |
> +-------------------------------+---------------+---------------+--------------+
> |ip4_lookup |1324083 |338965248 |2 |
> | ip4_lookup_error | |338965496 | |
> |pkt_drop |1324084 |338965504 |1 |
> |ethdev_rx-0-0 |1324086 |338966016 |2 |
> |pkt_cls |1324086 |338966016 |1 |
> +-------------------------------+---------------+---------------+--------------+
>
> v2 Changes:
> - Fix compilation.
> v3 Changes:
> - Resend as 1/5 didn't make it through.
> v4 Changes:
> - Address review comments.
> - Rebase on main branch.
> v5 Changes:
> - Shrink structure member names.(Robin)
> - add rte_node_error_increment utility function. (Robin)
> - Squash patches. (Robin)
> - Update RN, DN. (David)
> v6 Changes:
> - Rename error to xstat. (Robin)
> - Rearranges patches, update SVG fonts.
> v7 Changes:
> - Fix doxygen. (Jerin)
>
> Pavan Nikhilesh (3):
> graph: add support for node specific xstats
> doc: update graph layout and node anatomy images
> node: add xstats for ip4 nodes
>
> doc/guides/prog_guide/graph_lib.rst | 22 +-
> .../prog_guide/img/anatomy_of_a_node.svg | 329 +++++--
> .../prog_guide/img/graph_mem_layout.svg | 921 +++++++++++++-----
> doc/guides/rel_notes/deprecation.rst | 6 -
> doc/guides/rel_notes/release_24_11.rst | 8 +
> lib/graph/graph_populate.c | 20 +-
> lib/graph/graph_private.h | 3 +
> lib/graph/graph_stats.c | 79 +-
> lib/graph/node.c | 37 +-
> lib/graph/rte_graph.h | 15 +
> lib/graph/rte_graph_worker_common.h | 23 +
> lib/graph/version.map | 7 +
> lib/node/ip4_lookup.c | 9 +
> lib/node/ip4_lookup_neon.h | 5 +
> lib/node/ip4_lookup_sse.h | 6 +
> lib/node/ip4_reassembly.c | 9 +
> lib/node/node_private.h | 8 +
> 17 files changed, 1197 insertions(+), 310 deletions(-)
Series applied, thanks.
--
David Marchand
More information about the dev
mailing list