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 bd1f16b..be9e30d 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>

 struct rte_keepalive {
        /** Core Liveness. */
@@ -139,8 +140,10 @@ 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

Reply via email to