]> git.droids-corp.org - dpdk.git/commitdiff
trace: add alarm tracepoints
authorJerin Jacob <jerinj@marvell.com>
Wed, 22 Apr 2020 19:03:34 +0000 (00:33 +0530)
committerDavid Marchand <david.marchand@redhat.com>
Thu, 23 Apr 2020 13:39:47 +0000 (15:39 +0200)
Add following alarm related trace points.

- rte_eal_trace_alarm_set()
- rte_eal_trace_alarm_cancel()

Signed-off-by: Jerin Jacob <jerinj@marvell.com>
Acked-by: David Marchand <david.marchand@redhat.com>
lib/librte_eal/common/eal_common_trace_points.c
lib/librte_eal/freebsd/eal_alarm.c
lib/librte_eal/include/rte_eal_trace.h
lib/librte_eal/linux/eal_alarm.c
lib/librte_eal/rte_eal_version.map

index 29776a34569b8f0c6caa32b232939f62595794c9..08011c2d4f4173d8014b1d4355a75938dd64811f 100644 (file)
@@ -23,6 +23,9 @@ RTE_TRACE_POINT_DEFINE(rte_eal_trace_generic_ptr);
 RTE_TRACE_POINT_DEFINE(rte_eal_trace_generic_str);
 RTE_TRACE_POINT_DEFINE(rte_eal_trace_generic_func);
 
+RTE_TRACE_POINT_DEFINE(rte_eal_trace_alarm_set);
+RTE_TRACE_POINT_DEFINE(rte_eal_trace_alarm_cancel);
+
 RTE_INIT(eal_trace_init)
 {
        RTE_TRACE_POINT_REGISTER(rte_eal_trace_generic_void,
@@ -57,4 +60,9 @@ RTE_INIT(eal_trace_init)
                lib.eal.generic.string);
        RTE_TRACE_POINT_REGISTER(rte_eal_trace_generic_func,
                lib.eal.generic.func);
+
+       RTE_TRACE_POINT_REGISTER(rte_eal_trace_alarm_set,
+               lib.eal.alarm.set);
+       RTE_TRACE_POINT_REGISTER(rte_eal_trace_alarm_cancel,
+               lib.eal.alarm.cancel);
 }
index 51ea4b8c088067adc3691a80dc1e5b2b3ef60d6f..c38b2e04f81167828568c4b8ba18576869391bfb 100644 (file)
@@ -17,6 +17,7 @@
 #include <rte_errno.h>
 #include <rte_interrupts.h>
 #include <rte_spinlock.h>
+#include <rte_eal_trace.h>
 
 #include "eal_private.h"
 #include "eal_alarm_private.h"
@@ -223,6 +224,7 @@ rte_eal_alarm_set(uint64_t us, rte_eal_alarm_callback cb_fn, void *cb_arg)
 
        rte_spinlock_unlock(&alarm_list_lk);
 
+       rte_eal_trace_alarm_set(us, cb_fn, cb_arg, ret);
        return ret;
 }
 
@@ -310,5 +312,6 @@ rte_eal_alarm_cancel(rte_eal_alarm_callback cb_fn, void *cb_arg)
 
        rte_spinlock_unlock(&alarm_list_lk);
 
+       rte_eal_trace_alarm_cancel(cb_fn, cb_arg, count);
        return count;
 }
index 67969bf87d742232607cd3c61b56ca0c99b5ea6c..ab521d1b20a369ef43731fb42c76770a2be906aa 100644 (file)
@@ -15,6 +15,7 @@
 extern "C" {
 #endif
 
+#include <rte_alarm.h>
 #include <rte_trace_point.h>
 
 /* Generic */
@@ -115,6 +116,26 @@ RTE_TRACE_POINT(
 
 #define RTE_EAL_TRACE_GENERIC_FUNC rte_eal_trace_generic_func(__func__)
 
+/* Alarm */
+RTE_TRACE_POINT(
+       rte_eal_trace_alarm_set,
+       RTE_TRACE_POINT_ARGS(uint64_t us, rte_eal_alarm_callback cb_fn,
+               void *cb_arg, int rc),
+       rte_trace_point_emit_u64(us);
+       rte_trace_point_emit_ptr(cb_fn);
+       rte_trace_point_emit_ptr(cb_arg);
+       rte_trace_point_emit_int(rc);
+)
+
+RTE_TRACE_POINT(
+       rte_eal_trace_alarm_cancel,
+       RTE_TRACE_POINT_ARGS(rte_eal_alarm_callback cb_fn, void *cb_arg,
+               int count),
+       rte_trace_point_emit_ptr(cb_fn);
+       rte_trace_point_emit_ptr(cb_arg);
+       rte_trace_point_emit_int(count);
+)
+
 #ifdef __cplusplus
 }
 #endif
index 0924c9205c84e82f3a08d3e0f9ff9fdea098c28c..3252c6fa590997e3a188e01c56032f36051d8678 100644 (file)
@@ -20,6 +20,8 @@
 #include <rte_lcore.h>
 #include <rte_errno.h>
 #include <rte_spinlock.h>
+#include <rte_eal_trace.h>
+
 #include <eal_private.h>
 
 #ifndef        TFD_NONBLOCK
@@ -172,6 +174,7 @@ rte_eal_alarm_set(uint64_t us, rte_eal_alarm_callback cb_fn, void *cb_arg)
        }
        rte_spinlock_unlock(&alarm_list_lk);
 
+       rte_eal_trace_alarm_set(us, cb_fn, cb_arg, ret);
        return ret;
 }
 
@@ -240,5 +243,6 @@ rte_eal_alarm_cancel(rte_eal_alarm_callback cb_fn, void *cb_arg)
        else if (err)
                rte_errno = err;
 
+       rte_eal_trace_alarm_cancel(cb_fn, cb_arg, count);
        return count;
 }
index 810062f5adf51a77986c4085e31e85fda65247ae..1e016865a2f712358760d5cafca0a382d57cdde6 100644 (file)
@@ -337,6 +337,8 @@ EXPERIMENTAL {
        rte_thread_is_intr;
 
        # added in 20.05
+       __rte_eal_trace_alarm_cancel;
+       __rte_eal_trace_alarm_set;
        __rte_eal_trace_generic_double;
        __rte_eal_trace_generic_float;
        __rte_eal_trace_generic_func;