This patch sets a timestamp on each lcore when it is registered
for keepalive. This causes the first values read by the monitor
to show time since the core was registered, instead of the delta
between 0 and the timestamp counter.
Signed-off-by: Harry van Haaren <harry.van.haaren at intel.com>
---
lib/librte_eal/common/rte_keepalive.c | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/lib/librte_eal/common/rte_keepalive.c
b/lib/librte_eal/common/rte_keepalive.c
index 736fd0f..5358322 100644
--- a/lib/librte_eal/common/rte_keepalive.c
+++ b/lib/librte_eal/common/rte_keepalive.c
@@ -38,6 +38,7 @@
#include <rte_log.h>
#include <rte_keepalive.h>
#include <rte_malloc.h>
+#include <rte_cycles.h>
static void
print_trace(const char *msg, struct rte_keepalive *keepcfg, int idx_core)
@@ -108,6 +109,8 @@ rte_keepalive_create(rte_keepalive_failure_callback_t
callback,
void
rte_keepalive_register_core(struct rte_keepalive *keepcfg, const int id_core)
{
- if (id_core < RTE_KEEPALIVE_MAXCORES)
+ if (id_core < RTE_KEEPALIVE_MAXCORES) {
keepcfg->active_cores[id_core] = 1;
+ keepcfg->last_alive[id_core] = rte_rdtsc();
+ }
}
--
2.5.0