From 4d1a866aff6ceb03025990b6e60b42faf09ef486 Mon Sep 17 00:00:00 2001 From: Dave Barach Date: Mon, 10 Sep 2018 12:31:15 -0400 Subject: X86_64 perf counter plugin Change-Id: Ie5a00c15ee9536cc61afab57f6cadc1aa1972f3c Signed-off-by: Dave Barach --- src/vlibapi/node_serialize.c | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) (limited to 'src/vlibapi') diff --git a/src/vlibapi/node_serialize.c b/src/vlibapi/node_serialize.c index b50d79e2922..0774eea251e 100644 --- a/src/vlibapi/node_serialize.c +++ b/src/vlibapi/node_serialize.c @@ -57,7 +57,7 @@ vlib_node_serialize (vlib_main_t * vm, vlib_node_t *** node_dups, u8 * vector, u8 *namep; u32 name_bytes; uword i, j, k; - u64 l, v, c, d; + u64 l, v, c, d, pmc; state_string_enum_t state_code; serialize_open_vector (sm, vector); @@ -77,6 +77,8 @@ vlib_node_serialize (vlib_main_t * vm, vlib_node_t *** node_dups, u8 * vector, v = n->stats_total.vectors - n->stats_last_clear.vectors; c = n->stats_total.calls - n->stats_last_clear.calls; d = n->stats_total.suspends - n->stats_last_clear.suspends; + pmc = n->stats_total.perf_counter_ticks + - n->stats_last_clear.perf_counter_ticks; state_code = STATE_INTERNAL; @@ -149,6 +151,8 @@ vlib_node_serialize (vlib_main_t * vm, vlib_node_t *** node_dups, u8 * vector, serialize_integer (sm, v, 8); /* Total suspends */ serialize_integer (sm, d, 8); + /* PMC counter */ + serialize_integer (sm, pmc, 8); } else /* no stats */ serialize_likely_small_unsigned_integer (sm, 0); @@ -167,7 +171,7 @@ vlib_node_unserialize (u8 * vector) vlib_node_t **nodes; vlib_node_t ***nodes_by_thread = 0; int i, j, k; - u64 l, v, c, d; + u64 l, v, c, d, pmc; state_string_enum_t state_code; int stats_present; @@ -225,6 +229,9 @@ vlib_node_unserialize (u8 * vector) /* Total suspends */ unserialize_integer (sm, &d, 8); node->stats_total.suspends = d; + /* PMC counter */ + unserialize_integer (sm, &pmc, 8); + node->stats_total.perf_counter_ticks = pmc; } } } -- cgit 1.2.3-korg