@@ -118,15 +118,6 @@ convention.
The ``rte_trace_point_register.h`` header must be included before any
inclusion of the ``rte_trace_point.h`` header.
-.. note::
-
- The ``RTE_TRACE_POINT_REGISTER`` defines the placeholder for the
- ``rte_trace_point_t`` tracepoint object. The user must export a
- ``__<trace_function_name>`` symbol in the library ``.map`` file for this
- tracepoint to be used out of the library, in shared builds.
- For example, ``__app_trace_string`` will be the exported symbol in the
- above example.
-
Fast path tracepoint
--------------------
@@ -137,6 +128,15 @@ the user must use ``RTE_TRACE_POINT_FP`` instead of ``RTE_TRACE_POINT``.
``RTE_TRACE_POINT_FP`` is compiled out by default and it can be enabled using
the ``enable_trace_fp`` option for meson build.
+.. note::
+
+ The ``RTE_TRACE_POINT_REGISTER`` defines the placeholder for the
+ ``rte_trace_point_t`` tracepoint object. For fast path tracepoint, the user
+ must export a ``__<trace_function_name>`` symbol in the library ``.map``
+ file for this tracepoint to be used out of the library, in shared builds.
+ For example, ``__app_trace_string`` will be the exported symbol in the
+ above example.
+
Event record mode
-----------------
@@ -4,8 +4,8 @@
#include <errno.h>
+#include <eal_trace_internal.h>
#include <rte_launch.h>
-#include <rte_eal_trace.h>
#include <rte_pause.h>
#include <rte_lcore.h>
@@ -8,6 +8,7 @@
#include <string.h>
#include <errno.h>
+#include <eal_trace_internal.h>
#include <rte_log.h>
#include <rte_memory.h>
#include <rte_memzone.h>
@@ -15,7 +16,6 @@
#include <rte_errno.h>
#include <rte_string_fns.h>
#include <rte_common.h>
-#include <rte_eal_trace.h>
#include "malloc_heap.h"
#include "malloc_elem.h"
@@ -10,7 +10,7 @@
#include <assert.h>
#include <string.h>
-#include <rte_eal_trace.h>
+#include <eal_trace_internal.h>
#include <rte_errno.h>
#include <rte_lcore.h>
#include <rte_log.h>
@@ -6,6 +6,8 @@
#include <rte_eal_trace.h>
+#include <eal_trace_internal.h>
+
RTE_TRACE_POINT_REGISTER(rte_eal_trace_generic_void,
lib.eal.generic.void)
RTE_TRACE_POINT_REGISTER(rte_eal_trace_generic_u64,
@@ -16,7 +16,7 @@
#include <rte_common.h>
#include <rte_spinlock.h>
-#include <rte_eal_trace.h>
+#include <eal_trace_internal.h>
#include <rte_malloc.h>
#include "malloc_elem.h"
@@ -11,13 +11,13 @@
#include <time.h>
#include <errno.h>
+#include <eal_trace_internal.h>
#include <rte_alarm.h>
#include <rte_cycles.h>
#include <rte_common.h>
#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"
@@ -8,12 +8,12 @@
#include <sys/queue.h>
#include <unistd.h>
+#include <eal_trace_internal.h>
#include <rte_errno.h>
#include <rte_lcore.h>
#include <rte_spinlock.h>
#include <rte_common.h>
#include <rte_interrupts.h>
-#include <rte_eal_trace.h>
#include "eal_private.h"
#include "eal_alarm_private.h"
new file mode 100644
@@ -0,0 +1,182 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2023 Marvell International Ltd.
+ */
+
+#ifndef _EAL_TRACE_INTERNAL_H_
+#define _EAL_TRACE_INTERNAL_H_
+
+/**
+ * @file
+ *
+ * API for EAL trace support
+ */
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#include <rte_alarm.h>
+#include <rte_interrupts.h>
+#include <rte_trace_point.h>
+
+#include "eal_interrupts.h"
+
+/* 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);
+)
+
+/* Interrupt */
+RTE_TRACE_POINT(
+ rte_eal_trace_intr_callback_register,
+ RTE_TRACE_POINT_ARGS(const struct rte_intr_handle *handle,
+ rte_intr_callback_fn cb, void *cb_arg, int rc),
+ rte_trace_point_emit_int(rc);
+ rte_trace_point_emit_int(handle->dev_fd);
+ rte_trace_point_emit_int(handle->fd);
+ rte_trace_point_emit_int(handle->type);
+ rte_trace_point_emit_u32(handle->max_intr);
+ rte_trace_point_emit_u32(handle->nb_efd);
+ rte_trace_point_emit_ptr(cb);
+ rte_trace_point_emit_ptr(cb_arg);
+)
+RTE_TRACE_POINT(
+ rte_eal_trace_intr_callback_unregister,
+ RTE_TRACE_POINT_ARGS(const struct rte_intr_handle *handle,
+ rte_intr_callback_fn cb, void *cb_arg, int rc),
+ rte_trace_point_emit_int(rc);
+ rte_trace_point_emit_int(handle->dev_fd);
+ rte_trace_point_emit_int(handle->fd);
+ rte_trace_point_emit_int(handle->type);
+ rte_trace_point_emit_u32(handle->max_intr);
+ rte_trace_point_emit_u32(handle->nb_efd);
+ rte_trace_point_emit_ptr(cb);
+ rte_trace_point_emit_ptr(cb_arg);
+)
+RTE_TRACE_POINT(
+ rte_eal_trace_intr_enable,
+ RTE_TRACE_POINT_ARGS(const struct rte_intr_handle *handle, int rc),
+ rte_trace_point_emit_int(rc);
+ rte_trace_point_emit_int(handle->dev_fd);
+ rte_trace_point_emit_int(handle->fd);
+ rte_trace_point_emit_int(handle->type);
+ rte_trace_point_emit_u32(handle->max_intr);
+ rte_trace_point_emit_u32(handle->nb_efd);
+)
+RTE_TRACE_POINT(
+ rte_eal_trace_intr_disable,
+ RTE_TRACE_POINT_ARGS(const struct rte_intr_handle *handle, int rc),
+ rte_trace_point_emit_int(rc);
+ rte_trace_point_emit_int(handle->dev_fd);
+ rte_trace_point_emit_int(handle->fd);
+ rte_trace_point_emit_int(handle->type);
+ rte_trace_point_emit_u32(handle->max_intr);
+ rte_trace_point_emit_u32(handle->nb_efd);
+)
+
+/* Memory */
+RTE_TRACE_POINT(
+ rte_eal_trace_mem_zmalloc,
+ RTE_TRACE_POINT_ARGS(const char *type, size_t size, unsigned int align,
+ int socket, void *ptr),
+ rte_trace_point_emit_string(type);
+ rte_trace_point_emit_size_t(size);
+ rte_trace_point_emit_u32(align);
+ rte_trace_point_emit_int(socket);
+ rte_trace_point_emit_ptr(ptr);
+)
+
+RTE_TRACE_POINT(
+ rte_eal_trace_mem_malloc,
+ RTE_TRACE_POINT_ARGS(const char *type, size_t size, unsigned int align,
+ int socket, void *ptr),
+ rte_trace_point_emit_string(type);
+ rte_trace_point_emit_size_t(size);
+ rte_trace_point_emit_u32(align);
+ rte_trace_point_emit_int(socket);
+ rte_trace_point_emit_ptr(ptr);
+)
+
+RTE_TRACE_POINT(
+ rte_eal_trace_mem_realloc,
+ RTE_TRACE_POINT_ARGS(size_t size, unsigned int align, int socket,
+ void *ptr),
+ rte_trace_point_emit_size_t(size);
+ rte_trace_point_emit_u32(align);
+ rte_trace_point_emit_int(socket);
+ rte_trace_point_emit_ptr(ptr);
+)
+
+RTE_TRACE_POINT(
+ rte_eal_trace_mem_free,
+ RTE_TRACE_POINT_ARGS(void *ptr),
+ rte_trace_point_emit_ptr(ptr);
+)
+
+/* Memzone */
+RTE_TRACE_POINT(
+ rte_eal_trace_memzone_reserve,
+ RTE_TRACE_POINT_ARGS(const char *name, size_t len, int socket_id,
+ unsigned int flags, unsigned int align, unsigned int bound,
+ const void *mz),
+ rte_trace_point_emit_string(name);
+ rte_trace_point_emit_size_t(len);
+ rte_trace_point_emit_int(socket_id);
+ rte_trace_point_emit_u32(flags);
+ rte_trace_point_emit_u32(align);
+ rte_trace_point_emit_u32(bound);
+ rte_trace_point_emit_ptr(mz);
+)
+
+RTE_TRACE_POINT(
+ rte_eal_trace_memzone_lookup,
+ RTE_TRACE_POINT_ARGS(const char *name, const void *memzone),
+ rte_trace_point_emit_string(name);
+ rte_trace_point_emit_ptr(memzone);
+)
+
+RTE_TRACE_POINT(
+ rte_eal_trace_memzone_free,
+ RTE_TRACE_POINT_ARGS(const char *name, void *addr, int rc),
+ rte_trace_point_emit_string(name);
+ rte_trace_point_emit_ptr(addr);
+ rte_trace_point_emit_int(rc);
+)
+
+/* Thread */
+RTE_TRACE_POINT(
+ rte_eal_trace_thread_remote_launch,
+ RTE_TRACE_POINT_ARGS(int (*f)(void *), void *arg,
+ unsigned int worker_id, int rc),
+ rte_trace_point_emit_ptr(f);
+ rte_trace_point_emit_ptr(arg);
+ rte_trace_point_emit_u32(worker_id);
+ rte_trace_point_emit_int(rc);
+)
+RTE_TRACE_POINT(
+ rte_eal_trace_thread_lcore_ready,
+ RTE_TRACE_POINT_ARGS(unsigned int lcore_id, const char *cpuset),
+ rte_trace_point_emit_u32(lcore_id);
+ rte_trace_point_emit_string(cpuset);
+)
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _EAL_TRACE_INTERNAL_H_ */
@@ -15,32 +15,8 @@
extern "C" {
#endif
-#include <rte_alarm.h>
-#include <rte_interrupts.h>
#include <rte_trace_point.h>
-#include "eal_interrupts.h"
-
-/* 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);
-)
-
/* Generic */
RTE_TRACE_POINT(
rte_eal_trace_generic_void,
@@ -151,140 +127,6 @@ RTE_TRACE_POINT(
#define RTE_EAL_TRACE_GENERIC_FUNC rte_eal_trace_generic_func(__func__)
-/* Interrupt */
-RTE_TRACE_POINT(
- rte_eal_trace_intr_callback_register,
- RTE_TRACE_POINT_ARGS(const struct rte_intr_handle *handle,
- rte_intr_callback_fn cb, void *cb_arg, int rc),
- rte_trace_point_emit_int(rc);
- rte_trace_point_emit_int(handle->dev_fd);
- rte_trace_point_emit_int(handle->fd);
- rte_trace_point_emit_int(handle->type);
- rte_trace_point_emit_u32(handle->max_intr);
- rte_trace_point_emit_u32(handle->nb_efd);
- rte_trace_point_emit_ptr(cb);
- rte_trace_point_emit_ptr(cb_arg);
-)
-RTE_TRACE_POINT(
- rte_eal_trace_intr_callback_unregister,
- RTE_TRACE_POINT_ARGS(const struct rte_intr_handle *handle,
- rte_intr_callback_fn cb, void *cb_arg, int rc),
- rte_trace_point_emit_int(rc);
- rte_trace_point_emit_int(handle->dev_fd);
- rte_trace_point_emit_int(handle->fd);
- rte_trace_point_emit_int(handle->type);
- rte_trace_point_emit_u32(handle->max_intr);
- rte_trace_point_emit_u32(handle->nb_efd);
- rte_trace_point_emit_ptr(cb);
- rte_trace_point_emit_ptr(cb_arg);
-)
-RTE_TRACE_POINT(
- rte_eal_trace_intr_enable,
- RTE_TRACE_POINT_ARGS(const struct rte_intr_handle *handle, int rc),
- rte_trace_point_emit_int(rc);
- rte_trace_point_emit_int(handle->dev_fd);
- rte_trace_point_emit_int(handle->fd);
- rte_trace_point_emit_int(handle->type);
- rte_trace_point_emit_u32(handle->max_intr);
- rte_trace_point_emit_u32(handle->nb_efd);
-)
-RTE_TRACE_POINT(
- rte_eal_trace_intr_disable,
- RTE_TRACE_POINT_ARGS(const struct rte_intr_handle *handle, int rc),
- rte_trace_point_emit_int(rc);
- rte_trace_point_emit_int(handle->dev_fd);
- rte_trace_point_emit_int(handle->fd);
- rte_trace_point_emit_int(handle->type);
- rte_trace_point_emit_u32(handle->max_intr);
- rte_trace_point_emit_u32(handle->nb_efd);
-)
-
-/* Memory */
-RTE_TRACE_POINT(
- rte_eal_trace_mem_zmalloc,
- RTE_TRACE_POINT_ARGS(const char *type, size_t size, unsigned int align,
- int socket, void *ptr),
- rte_trace_point_emit_string(type);
- rte_trace_point_emit_size_t(size);
- rte_trace_point_emit_u32(align);
- rte_trace_point_emit_int(socket);
- rte_trace_point_emit_ptr(ptr);
-)
-
-RTE_TRACE_POINT(
- rte_eal_trace_mem_malloc,
- RTE_TRACE_POINT_ARGS(const char *type, size_t size, unsigned int align,
- int socket, void *ptr),
- rte_trace_point_emit_string(type);
- rte_trace_point_emit_size_t(size);
- rte_trace_point_emit_u32(align);
- rte_trace_point_emit_int(socket);
- rte_trace_point_emit_ptr(ptr);
-)
-
-RTE_TRACE_POINT(
- rte_eal_trace_mem_realloc,
- RTE_TRACE_POINT_ARGS(size_t size, unsigned int align, int socket,
- void *ptr),
- rte_trace_point_emit_size_t(size);
- rte_trace_point_emit_u32(align);
- rte_trace_point_emit_int(socket);
- rte_trace_point_emit_ptr(ptr);
-)
-
-RTE_TRACE_POINT(
- rte_eal_trace_mem_free,
- RTE_TRACE_POINT_ARGS(void *ptr),
- rte_trace_point_emit_ptr(ptr);
-)
-
-/* Memzone */
-RTE_TRACE_POINT(
- rte_eal_trace_memzone_reserve,
- RTE_TRACE_POINT_ARGS(const char *name, size_t len, int socket_id,
- unsigned int flags, unsigned int align, unsigned int bound,
- const void *mz),
- rte_trace_point_emit_string(name);
- rte_trace_point_emit_size_t(len);
- rte_trace_point_emit_int(socket_id);
- rte_trace_point_emit_u32(flags);
- rte_trace_point_emit_u32(align);
- rte_trace_point_emit_u32(bound);
- rte_trace_point_emit_ptr(mz);
-)
-
-RTE_TRACE_POINT(
- rte_eal_trace_memzone_lookup,
- RTE_TRACE_POINT_ARGS(const char *name, const void *memzone),
- rte_trace_point_emit_string(name);
- rte_trace_point_emit_ptr(memzone);
-)
-
-RTE_TRACE_POINT(
- rte_eal_trace_memzone_free,
- RTE_TRACE_POINT_ARGS(const char *name, void *addr, int rc),
- rte_trace_point_emit_string(name);
- rte_trace_point_emit_ptr(addr);
- rte_trace_point_emit_int(rc);
-)
-
-/* Thread */
-RTE_TRACE_POINT(
- rte_eal_trace_thread_remote_launch,
- RTE_TRACE_POINT_ARGS(int (*f)(void *), void *arg,
- unsigned int worker_id, int rc),
- rte_trace_point_emit_ptr(f);
- rte_trace_point_emit_ptr(arg);
- rte_trace_point_emit_u32(worker_id);
- rte_trace_point_emit_int(rc);
-)
-RTE_TRACE_POINT(
- rte_eal_trace_thread_lcore_ready,
- RTE_TRACE_POINT_ARGS(unsigned int lcore_id, const char *cpuset),
- rte_trace_point_emit_u32(lcore_id);
- rte_trace_point_emit_string(cpuset);
-)
-
#ifdef __cplusplus
}
#endif
@@ -9,12 +9,12 @@
#include <sys/time.h>
#include <sys/timerfd.h>
+#include <eal_trace_internal.h>
#include <rte_interrupts.h>
#include <rte_alarm.h>
#include <rte_common.h>
#include <rte_errno.h>
#include <rte_spinlock.h>
-#include <rte_eal_trace.h>
#include <eal_private.h>
@@ -16,6 +16,7 @@
#include <assert.h>
#include <stdbool.h>
+#include <eal_trace_internal.h>
#include <rte_common.h>
#include <rte_interrupts.h>
#include <rte_per_lcore.h>
@@ -27,7 +28,6 @@
#include <rte_spinlock.h>
#include <rte_pause.h>
#include <rte_vfio.h>
-#include <rte_eal_trace.h>
#include "eal_private.h"
@@ -333,8 +333,6 @@ EXPERIMENTAL {
rte_dev_dma_unmap;
# 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;
@@ -351,19 +349,6 @@ EXPERIMENTAL {
__rte_eal_trace_generic_u64;
__rte_eal_trace_generic_u8;
__rte_eal_trace_generic_void;
- __rte_eal_trace_intr_callback_register;
- __rte_eal_trace_intr_callback_unregister;
- __rte_eal_trace_intr_enable;
- __rte_eal_trace_intr_disable;
- __rte_eal_trace_mem_free;
- __rte_eal_trace_mem_malloc;
- __rte_eal_trace_mem_realloc;
- __rte_eal_trace_mem_zmalloc;
- __rte_eal_trace_memzone_free;
- __rte_eal_trace_memzone_lookup;
- __rte_eal_trace_memzone_reserve;
- __rte_eal_trace_thread_lcore_ready;
- __rte_eal_trace_thread_remote_launch;
__rte_trace_mem_per_thread_alloc;
__rte_trace_point_emit_field;
__rte_trace_point_register;
@@ -9,8 +9,7 @@
#include <rte_alarm.h>
#include <rte_spinlock.h>
-#include <rte_eal_trace.h>
-
+#include <eal_trace_internal.h>
#include "eal_windows.h"
enum alarm_state {