fix: phys_proc_id and cpu_core_id moved in linux 6.7.0-rc1
[lttng-modules.git] / include / instrumentation / events / lttng-statedump.h
index 367132e00f46c3964abb72bf121b0989e5f65e60..4831a9411620921365ac2ff03baa7fcf191a633e 100644 (file)
 #include <linux/user_namespace.h>
 #include <linux/utsname.h>
 #include <linux/types.h>
+#include <linux/user_namespace.h>
+
 #include <lttng/kernel-version.h>
-#include <wrapper/namespace.h>
-#include <wrapper/user_namespace.h>
-#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(5,6,0))
+
+#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(5,6,0) || \
+       LTTNG_RHEL_KERNEL_RANGE(4,18,0,305,0,0, 4,19,0,0,0,0))
 #include <linux/time_namespace.h>
 #endif
 
 #endif
 
 LTTNG_TRACEPOINT_EVENT(lttng_statedump_start,
-       TP_PROTO(struct lttng_session *session),
+       TP_PROTO(struct lttng_kernel_session *session),
        TP_ARGS(session),
        TP_FIELDS()
 )
 
 LTTNG_TRACEPOINT_EVENT(lttng_statedump_end,
-       TP_PROTO(struct lttng_session *session),
+       TP_PROTO(struct lttng_kernel_session *session),
        TP_ARGS(session),
        TP_FIELDS()
 )
 
 LTTNG_TRACEPOINT_EVENT(lttng_statedump_process_state,
-       TP_PROTO(struct lttng_session *session,
+       TP_PROTO(struct lttng_kernel_session *session,
                struct task_struct *p,
                int type, int mode, int submode, int status,
                struct files_struct *files),
@@ -70,60 +72,54 @@ LTTNG_TRACEPOINT_EVENT(lttng_statedump_process_state,
 
 #if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(4,6,0))
 LTTNG_TRACEPOINT_EVENT(lttng_statedump_process_cgroup_ns,
-       TP_PROTO(struct lttng_session *session,
+       TP_PROTO(struct lttng_kernel_session *session,
                struct task_struct *p,
                struct cgroup_namespace *cgroup_ns),
        TP_ARGS(session, p, cgroup_ns),
        TP_FIELDS(
                ctf_integer(pid_t, tid, p->pid)
-               ctf_integer(unsigned int, ns_inum, cgroup_ns ? cgroup_ns->lttng_ns_inum : 0)
+               ctf_integer(unsigned int, ns_inum, cgroup_ns ? cgroup_ns->ns.inum : 0)
        )
 )
 #endif
 
 LTTNG_TRACEPOINT_EVENT(lttng_statedump_process_ipc_ns,
-       TP_PROTO(struct lttng_session *session,
+       TP_PROTO(struct lttng_kernel_session *session,
                struct task_struct *p,
                struct ipc_namespace *ipc_ns),
        TP_ARGS(session, p, ipc_ns),
        TP_FIELDS(
                ctf_integer(pid_t, tid, p->pid)
-#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(3,8,0))
-               ctf_integer(unsigned int, ns_inum, ipc_ns ? ipc_ns->lttng_ns_inum : 0)
-#endif
+               ctf_integer(unsigned int, ns_inum, ipc_ns ? ipc_ns->ns.inum : 0)
        )
 )
 
 #if !defined(LTTNG_MNT_NS_MISSING_HEADER)
 LTTNG_TRACEPOINT_EVENT(lttng_statedump_process_mnt_ns,
-       TP_PROTO(struct lttng_session *session,
+       TP_PROTO(struct lttng_kernel_session *session,
                struct task_struct *p,
                struct mnt_namespace *mnt_ns),
        TP_ARGS(session, p, mnt_ns),
        TP_FIELDS(
                ctf_integer(pid_t, tid, p->pid)
-#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(3,8,0))
-               ctf_integer(unsigned int, ns_inum, mnt_ns ? mnt_ns->lttng_ns_inum : 0)
-#endif
+               ctf_integer(unsigned int, ns_inum, mnt_ns ? mnt_ns->ns.inum : 0)
        )
 )
 #endif
 
 LTTNG_TRACEPOINT_EVENT(lttng_statedump_process_net_ns,
-       TP_PROTO(struct lttng_session *session,
+       TP_PROTO(struct lttng_kernel_session *session,
                struct task_struct *p,
                struct net *net_ns),
        TP_ARGS(session, p, net_ns),
        TP_FIELDS(
                ctf_integer(pid_t, tid, p->pid)
-#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(3,8,0))
-               ctf_integer(unsigned int, ns_inum, net_ns ? net_ns->lttng_ns_inum : 0)
-#endif
+               ctf_integer(unsigned int, ns_inum, net_ns ? net_ns->ns.inum : 0)
        )
 )
 
 LTTNG_TRACEPOINT_EVENT(lttng_statedump_process_pid_ns,
-       TP_PROTO(struct lttng_session *session,
+       TP_PROTO(struct lttng_kernel_session *session,
                struct task_struct *p,
                struct pid_namespace *pid_ns),
        TP_ARGS(session, p, pid_ns),
@@ -145,58 +141,51 @@ LTTNG_TRACEPOINT_EVENT(lttng_statedump_process_pid_ns,
                                ret;
                        }))
                ctf_integer(int, ns_level, pid_ns ? pid_ns->level : 0)
-#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(3,8,0))
-               ctf_integer(unsigned int, ns_inum, pid_ns ? pid_ns->lttng_ns_inum : 0)
-#endif
+               ctf_integer(unsigned int, ns_inum, pid_ns ? pid_ns->ns.inum : 0)
        )
 )
 
 LTTNG_TRACEPOINT_EVENT(lttng_statedump_process_user_ns,
-       TP_PROTO(struct lttng_session *session,
+       TP_PROTO(struct lttng_kernel_session *session,
                struct task_struct *p,
                struct user_namespace *user_ns),
        TP_ARGS(session, p, user_ns),
        TP_FIELDS(
                ctf_integer(pid_t, tid, p->pid)
-               ctf_integer(uid_t, vuid, user_ns ? lttng_task_vuid(p, user_ns) : 0)
-               ctf_integer(gid_t, vgid, user_ns ? lttng_task_vgid(p, user_ns) : 0)
-#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(3,11,0))
+               ctf_integer(uid_t, vuid, user_ns ? from_kuid_munged(user_ns, task_cred_xxx(p, uid)) : 0)
+               ctf_integer(gid_t, vgid, user_ns ? from_kgid_munged(user_ns, task_cred_xxx(p, gid)) : 0)
                ctf_integer(int, ns_level, user_ns ? user_ns->level : 0)
-#endif
-#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(3,8,0))
-               ctf_integer(unsigned int, ns_inum, user_ns ? user_ns->lttng_ns_inum : 0)
-#endif
+               ctf_integer(unsigned int, ns_inum, user_ns ? user_ns->ns.inum : 0)
        )
 )
 
 LTTNG_TRACEPOINT_EVENT(lttng_statedump_process_uts_ns,
-       TP_PROTO(struct lttng_session *session,
+       TP_PROTO(struct lttng_kernel_session *session,
                struct task_struct *p,
                struct uts_namespace *uts_ns),
        TP_ARGS(session, p, uts_ns),
        TP_FIELDS(
                ctf_integer(pid_t, tid, p->pid)
-#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(3,8,0))
-               ctf_integer(unsigned int, ns_inum, uts_ns ? uts_ns->lttng_ns_inum : 0)
-#endif
+               ctf_integer(unsigned int, ns_inum, uts_ns ? uts_ns->ns.inum : 0)
        )
 )
 
-#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(5,6,0))
+#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(5,6,0) || \
+       LTTNG_RHEL_KERNEL_RANGE(4,18,0,305,0,0, 4,19,0,0,0,0))
 LTTNG_TRACEPOINT_EVENT(lttng_statedump_process_time_ns,
-       TP_PROTO(struct lttng_session *session,
+       TP_PROTO(struct lttng_kernel_session *session,
                struct task_struct *p,
                struct time_namespace *time_ns),
        TP_ARGS(session, p, time_ns),
        TP_FIELDS(
                ctf_integer(pid_t, tid, p->pid)
-               ctf_integer(unsigned int, ns_inum, time_ns ? time_ns->lttng_ns_inum : 0)
+               ctf_integer(unsigned int, ns_inum, time_ns ? time_ns->ns.inum : 0)
        )
 )
 #endif
 
 LTTNG_TRACEPOINT_EVENT(lttng_statedump_file_descriptor,
-       TP_PROTO(struct lttng_session *session,
+       TP_PROTO(struct lttng_kernel_session *session,
                struct files_struct *files,
                int fd, const char *filename,
                unsigned int flags, fmode_t fmode),
@@ -211,7 +200,7 @@ LTTNG_TRACEPOINT_EVENT(lttng_statedump_file_descriptor,
 )
 
 LTTNG_TRACEPOINT_EVENT(lttng_statedump_vm_map,
-       TP_PROTO(struct lttng_session *session,
+       TP_PROTO(struct lttng_kernel_session *session,
                struct task_struct *p, struct vm_area_struct *map,
                unsigned long inode),
        TP_ARGS(session, p, map, inode),
@@ -226,7 +215,7 @@ LTTNG_TRACEPOINT_EVENT(lttng_statedump_vm_map,
 )
 
 LTTNG_TRACEPOINT_EVENT(lttng_statedump_network_interface,
-       TP_PROTO(struct lttng_session *session,
+       TP_PROTO(struct lttng_kernel_session *session,
                struct net_device *dev, struct in_ifaddr *ifa),
        TP_ARGS(session, dev, ifa),
        TP_FIELDS(
@@ -237,7 +226,7 @@ LTTNG_TRACEPOINT_EVENT(lttng_statedump_network_interface,
 )
 
 LTTNG_TRACEPOINT_EVENT(lttng_statedump_block_device,
-       TP_PROTO(struct lttng_session *session,
+       TP_PROTO(struct lttng_kernel_session *session,
                dev_t dev, const char *diskname),
        TP_ARGS(session, dev, diskname),
        TP_FIELDS(
@@ -248,7 +237,7 @@ LTTNG_TRACEPOINT_EVENT(lttng_statedump_block_device,
 
 /* Called with desc->lock held */
 LTTNG_TRACEPOINT_EVENT(lttng_statedump_interrupt,
-       TP_PROTO(struct lttng_session *session,
+       TP_PROTO(struct lttng_kernel_session *session,
                unsigned int irq, const char *chip_name,
                struct irqaction *action),
        TP_ARGS(session, irq, chip_name, action),
@@ -264,8 +253,25 @@ LTTNG_TRACEPOINT_EVENT(lttng_statedump_interrupt,
 
 #define LTTNG_HAVE_STATEDUMP_CPU_TOPOLOGY
 
+#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(6,7,0))
 LTTNG_TRACEPOINT_EVENT(lttng_statedump_cpu_topology,
-       TP_PROTO(struct lttng_session *session, struct cpuinfo_x86 *c),
+       TP_PROTO(struct lttng_kernel_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->topo.pkg_id)
+               ctf_integer(uint16_t, core_id, c->topo.core_id)
+               ctf_integer(uint16_t, cores, c->booted_cores)
+       )
+)
+#else
+LTTNG_TRACEPOINT_EVENT(lttng_statedump_cpu_topology,
+       TP_PROTO(struct lttng_kernel_session *session, struct cpuinfo_x86 *c),
        TP_ARGS(session, c),
        TP_FIELDS(
                ctf_string(architecture, "x86")
@@ -279,6 +285,8 @@ LTTNG_TRACEPOINT_EVENT(lttng_statedump_cpu_topology,
                ctf_integer(uint16_t, cores, c->booted_cores)
        )
 )
+#endif /* LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(6,7,0) */
+
 #endif /* CONFIG_X86_32 || CONFIG_X86_64 */
 
 #endif /*  LTTNG_TRACE_LTTNG_STATEDUMP_H */
This page took 0.033161 seconds and 4 git commands to generate.