callsite: add "ip" context
[lttng-ust.git] / include / lttng / tracepoint.h
index 8e4704c47f3e264e653b1539f45e30234f4080cf..7d98e22e9ac1d60678822e0a74dc11d509fb7c67 100644 (file)
@@ -138,11 +138,16 @@ extern "C" {
 #define _TP_ARGS_DATA_VAR(...)         _TP_DATA_VAR_N(_TP_NARGS(0, ##__VA_ARGS__), ##__VA_ARGS__)
 #define _TP_PARAMS(...)                        __VA_ARGS__
 
+/*
+ * The tracepoint cb is marked always inline so we can distinguish
+ * between caller's ip addresses within the probe using the return
+ * address.
+ */
 #define _DECLARE_TRACEPOINT(_provider, _name, ...)                                     \
 extern struct tracepoint __tracepoint_##_provider##___##_name;                         \
-static inline lttng_ust_notrace                                                                \
+static inline __attribute__((always_inline)) lttng_ust_notrace                         \
 void __tracepoint_cb_##_provider##___##_name(_TP_ARGS_PROTO(__VA_ARGS__));             \
-static inline                                                                          \
+static                                                                                 \
 void __tracepoint_cb_##_provider##___##_name(_TP_ARGS_PROTO(__VA_ARGS__))              \
 {                                                                                      \
        struct tracepoint_probe *__tp_probe;                                            \
This page took 0.023789 seconds and 4 git commands to generate.