+/* SPDX-License-Identifier: GPL-2.0 */
#undef TRACE_SYSTEM
#define TRACE_SYSTEM lttng_statedump
#if !defined(LTTNG_TRACE_LTTNG_STATEDUMP_H) || defined(TRACE_HEADER_MULTI_READ)
#define LTTNG_TRACE_LTTNG_STATEDUMP_H
-#include "../../../probes/lttng-tracepoint-event.h"
+#include <probes/lttng-tracepoint-event.h>
#include <linux/nsproxy.h>
#include <linux/pid_namespace.h>
#include <linux/types.h>
+#include <linux/version.h>
+
+
+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,19,0))
+#define lttng_proc_inum ns.inum
+#else
+#define lttng_proc_inum proc_inum
+#endif
LTTNG_TRACEPOINT_EVENT(lttng_statedump_start,
TP_PROTO(struct lttng_session *session),
ctf_integer(int, submode, submode)
ctf_integer(int, status, status)
ctf_integer(int, ns_level, pid_ns ? pid_ns->level : 0)
+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,8,0))
+ ctf_integer(unsigned int, ns_inum, pid_ns ? pid_ns->lttng_proc_inum : 0)
+#endif
+ ctf_integer(unsigned int, cpu, task_cpu(p))
)
)
)
)
+#if defined(CONFIG_X86_32) || defined(CONFIG_X86_64)
+
+#define LTTNG_HAVE_STATEDUMP_CPU_TOPOLOGY
+
+LTTNG_TRACEPOINT_EVENT(lttng_statedump_cpu_topology,
+ TP_PROTO(struct lttng_session *session, struct cpuinfo_x86 *c),
+ TP_ARGS(session, c),
+ TP_FIELDS(
+ ctf_string(architecture, "x86")
+ ctf_integer(uint16_t, cpu_id, c->cpu_index)
+ ctf_string(vendor, c->x86_vendor_id[0] ? c->x86_vendor_id : "unknown")
+ ctf_integer(uint8_t, family, c->x86)
+ ctf_integer(uint8_t, model, c->x86_model)
+ ctf_string(model_name, c->x86_model_id[0] ? c->x86_model_id : "unknown")
+ ctf_integer(uint16_t, physical_id, c->phys_proc_id)
+ ctf_integer(uint16_t, core_id, c->cpu_core_id)
+ ctf_integer(uint16_t, cores, c->booted_cores)
+ )
+)
+#endif /* CONFIG_X86_32 || CONFIG_X86_64 */
+
#endif /* LTTNG_TRACE_LTTNG_STATEDUMP_H */
/* This part must be outside protection */
-#include "../../../probes/define_trace.h"
+#include <probes/define_trace.h>