LCOV - code coverage report
Current view: top level - lib/graph - graph_debug.c (source / functions) Hit Total Coverage
Test: Code coverage Lines: 16 60 26.7 %
Date: 2025-01-02 22:41:34 Functions: 1 3 33.3 %
Legend: Lines: hit not hit | Branches: + taken - not taken # not executed Branches: 5 18 27.8 %

           Branch data     Line data    Source code
       1                 :            : /* SPDX-License-Identifier: BSD-3-Clause
       2                 :            :  * Copyright(C) 2020 Marvell International Ltd.
       3                 :            :  */
       4                 :            : 
       5                 :            : 
       6                 :            : #include "graph_private.h"
       7                 :            : 
       8                 :            : void
       9                 :          0 : graph_dump(FILE *f, struct graph *g)
      10                 :            : {
      11                 :            :         struct graph_node *graph_node;
      12                 :            :         rte_edge_t i = 0;
      13                 :            : 
      14                 :          0 :         fprintf(f, "graph <%s>\n", g->name);
      15                 :          0 :         fprintf(f, "  id=%" PRIu32 "\n", g->id);
      16                 :          0 :         fprintf(f, "  cir_start=%" PRIu32 "\n", g->cir_start);
      17                 :          0 :         fprintf(f, "  cir_mask=%" PRIu32 "\n", g->cir_mask);
      18                 :            :         fprintf(f, "  addr=%p\n", g);
      19                 :          0 :         fprintf(f, "  graph=%p\n", g->graph);
      20                 :          0 :         fprintf(f, "  mem_sz=%zu\n", g->mem_sz);
      21                 :          0 :         fprintf(f, "  node_count=%" PRIu32 "\n", g->node_count);
      22                 :          0 :         fprintf(f, "  src_node_count=%" PRIu32 "\n", g->src_node_count);
      23                 :            : 
      24         [ #  # ]:          0 :         STAILQ_FOREACH(graph_node, &g->node_list, next)
      25                 :          0 :                 fprintf(f, "     node[%d] <%s>\n", i++, graph_node->node->name);
      26                 :          0 : }
      27                 :            : 
      28                 :            : void
      29                 :         20 : node_dump(FILE *f, struct node *n)
      30                 :            : {
      31                 :            :         rte_edge_t i;
      32                 :            : 
      33                 :         20 :         fprintf(f, "node <%s>\n", n->name);
      34                 :         20 :         fprintf(f, "  id=%" PRIu32 "\n", n->id);
      35                 :         20 :         fprintf(f, "  flags=0x%" PRIx64 "\n", n->flags);
      36                 :            :         fprintf(f, "  addr=%p\n", n);
      37                 :         20 :         fprintf(f, "  process=%p\n", n->process);
      38         [ +  - ]:         20 :         if (n->parent_id == RTE_NODE_ID_INVALID)
      39                 :            :                 fprintf(f, "  parent_id=RTE_NODE_ID_INVALID\n");
      40                 :            :         else
      41                 :            :                 fprintf(f, "  parent_id=%" PRIu32 "\n", n->parent_id);
      42                 :         20 :         fprintf(f, "  init=%p\n", n->init);
      43                 :         20 :         fprintf(f, "  fini=%p\n", n->fini);
      44                 :         20 :         fprintf(f, "  xstats=%p\n", n->xstats);
      45                 :         20 :         fprintf(f, "  next node addr=%p\n", STAILQ_NEXT(n, next));
      46         [ +  + ]:         20 :         if (STAILQ_NEXT(n, next))
      47                 :         19 :                 fprintf(f, "  next node name=%s\n", STAILQ_NEXT(n, next)->name);
      48                 :         20 :         fprintf(f, "  nb_edges=%d\n", n->nb_edges);
      49         [ +  + ]:         42 :         for (i = 0; i < n->nb_edges; i++)
      50                 :         22 :                 fprintf(f, "     edge[%d] <%s>\n", i, n->next_nodes[i]);
      51                 :         20 : }
      52                 :            : 
      53                 :            : void
      54                 :          0 : rte_graph_obj_dump(FILE *f, struct rte_graph *g, bool all)
      55                 :            : {
      56                 :            :         rte_node_t count;
      57                 :            :         rte_graph_off_t off;
      58                 :            :         struct rte_node *n;
      59                 :            :         rte_edge_t i;
      60                 :            : 
      61                 :          0 :         fprintf(f, "graph <%s> @ %p\n", g->name, g);
      62                 :          0 :         fprintf(f, "  id=%" PRIu32 "\n", g->id);
      63                 :          0 :         fprintf(f, "  head=%" PRId32 "\n", (int32_t)g->head);
      64                 :          0 :         fprintf(f, "  tail=%" PRId32 "\n", (int32_t)g->tail);
      65                 :          0 :         fprintf(f, "  cir_mask=0x%" PRIx32 "\n", g->cir_mask);
      66                 :          0 :         fprintf(f, "  nb_nodes=%" PRId32 "\n", g->nb_nodes);
      67                 :          0 :         fprintf(f, "  socket=%d\n", g->socket);
      68                 :          0 :         fprintf(f, "  fence=0x%" PRIx64 "\n", g->fence);
      69                 :          0 :         fprintf(f, "  nodes_start=0x%" PRIx32 "\n", g->nodes_start);
      70                 :          0 :         fprintf(f, "  cir_start=%p\n", g->cir_start);
      71                 :            : 
      72         [ #  # ]:          0 :         rte_graph_foreach_node(count, off, g, n) {
      73   [ #  #  #  # ]:          0 :                 if (!all && n->idx == 0)
      74                 :          0 :                         continue;
      75                 :          0 :                 fprintf(f, "     node[%d] <%s>\n", count, n->name);
      76                 :          0 :                 fprintf(f, "       fence=0x%" PRIx64 "\n", n->fence);
      77                 :          0 :                 fprintf(f, "       objs=%p\n", n->objs);
      78                 :          0 :                 fprintf(f, "       process=%p\n", n->process);
      79                 :          0 :                 fprintf(f, "       id=0x%" PRIx32 "\n", n->id);
      80                 :          0 :                 fprintf(f, "       offset=0x%" PRIx32 "\n", n->off);
      81                 :          0 :                 fprintf(f, "       nb_edges=%" PRId32 "\n", n->nb_edges);
      82                 :          0 :                 fprintf(f, "       realloc_count=%d\n", n->realloc_count);
      83                 :          0 :                 fprintf(f, "       size=%d\n", n->size);
      84                 :          0 :                 fprintf(f, "       idx=%d\n", n->idx);
      85                 :          0 :                 fprintf(f, "       total_objs=%" PRId64 "\n", n->total_objs);
      86         [ #  # ]:          0 :                 if (rte_graph_worker_model_get(g) == RTE_GRAPH_MODEL_MCORE_DISPATCH) {
      87                 :          0 :                         fprintf(f, "       total_sched_objs=%" PRId64 "\n",
      88                 :            :                                 n->dispatch.total_sched_objs);
      89                 :          0 :                         fprintf(f, "       total_sched_fail=%" PRId64 "\n",
      90                 :            :                                 n->dispatch.total_sched_fail);
      91                 :            :                 }
      92                 :          0 :                 fprintf(f, "       total_calls=%" PRId64 "\n", n->total_calls);
      93         [ #  # ]:          0 :                 for (i = 0; i < n->nb_edges; i++)
      94                 :            :                         fprintf(f, "          edge[%d] <%s>\n", i,
      95                 :          0 :                                 n->nodes[i]->name);
      96                 :            :         }
      97                 :          0 : }

Generated by: LCOV version 1.14