trace: hook subsystem to FreeBSD
authorJerin Jacob <jerinj@marvell.com>
Wed, 22 Apr 2020 19:03:32 +0000 (00:33 +0530)
committerDavid Marchand <david.marchand@redhat.com>
Thu, 23 Apr 2020 13:39:40 +0000 (15:39 +0200)
Connect the internal trace interface API to FreeBSD EAL.

Signed-off-by: Jerin Jacob <jerinj@marvell.com>
Acked-by: David Marchand <david.marchand@redhat.com>
lib/librte_eal/freebsd/eal.c
lib/librte_eal/freebsd/eal_thread.c

index 80dc9aa..540b7d3 100644 (file)
@@ -52,6 +52,7 @@
 #include "eal_hugepages.h"
 #include "eal_options.h"
 #include "eal_memcfg.h"
+#include "eal_trace.h"
 
 #define MEMSIZE_IF_NO_HUGE_PAGE (64ULL * 1024ULL * 1024ULL)
 
@@ -751,6 +752,13 @@ rte_eal_init(int argc, char **argv)
                return -1;
        }
 
+       if (eal_trace_init() < 0) {
+               rte_eal_init_alert("Cannot init trace");
+               rte_errno = EFAULT;
+               rte_atomic32_clear(&run_once);
+               return -1;
+       }
+
        if (eal_option_device_parse()) {
                rte_errno = ENODEV;
                rte_atomic32_clear(&run_once);
@@ -966,6 +974,8 @@ rte_eal_cleanup(void)
 {
        rte_service_finalize();
        rte_mp_channel_cleanup();
+       rte_trace_save();
+       eal_trace_fini();
        eal_cleanup_config(&internal_config);
        return 0;
 }
index d802c1d..c25b4a0 100644 (file)
@@ -20,6 +20,8 @@
 #include <rte_per_lcore.h>
 #include <rte_eal.h>
 #include <rte_lcore.h>
+#include <rte_trace.h>
+#include <rte_trace_point.h>
 
 #include "eal_private.h"
 #include "eal_thread.h"
@@ -124,6 +126,8 @@ eal_thread_loop(__rte_unused void *arg)
        RTE_LOG(DEBUG, EAL, "lcore %u is ready (tid=%p;cpuset=[%s%s])\n",
                lcore_id, thread_id, cpuset, ret == 0 ? "" : "...");
 
+       __rte_trace_mem_per_thread_alloc();
+
        /* read on our pipe to get commands */
        while (1) {
                void *fct_arg;