Rename LTTng instrumentation macros
[deliverable/lttng-modules.git] / instrumentation / events / lttng-module / lttng-statedump.h
index 504118805da67063d6b25f4de362b4b5e9c8f98a..985b71cf3cdba2fb440d0963bce9d2a6058334d3 100644 (file)
@@ -1,17 +1,15 @@
 #undef TRACE_SYSTEM
 #define TRACE_SYSTEM lttng_statedump
 
-#if !defined(_TRACE_LTTNG_STATEDUMP_H) || defined(TRACE_HEADER_MULTI_READ)
-#define _TRACE_LTTNG_STATEDUMP_H
+#if !defined(LTTNG_TRACE_LTTNG_STATEDUMP_H) || defined(TRACE_HEADER_MULTI_READ)
+#define LTTNG_TRACE_LTTNG_STATEDUMP_H
 
-#include <linux/tracepoint.h>
-#include <linux/netlink.h>
-#include <linux/inet.h>
-#include <linux/ip.h>
-#include <linux/netdevice.h>
-#include <linux/inetdevice.h>
+#include "../../../probes/lttng-tracepoint-event.h"
+#include <linux/nsproxy.h>
+#include <linux/pid_namespace.h>
+#include <linux/types.h>
 
-TRACE_EVENT(lttng_statedump_start,
+LTTNG_TRACEPOINT_EVENT(lttng_statedump_start,
        TP_PROTO(struct lttng_session *session),
        TP_ARGS(session),
        TP_STRUCT__entry(
@@ -21,7 +19,7 @@ TRACE_EVENT(lttng_statedump_start,
        TP_printk("")
 )
 
-TRACE_EVENT(lttng_statedump_end,
+LTTNG_TRACEPOINT_EVENT(lttng_statedump_end,
        TP_PROTO(struct lttng_session *session),
        TP_ARGS(session),
        TP_STRUCT__entry(
@@ -31,11 +29,12 @@ TRACE_EVENT(lttng_statedump_end,
        TP_printk("")
 )
 
-TRACE_EVENT(lttng_statedump_process_state,
+LTTNG_TRACEPOINT_EVENT(lttng_statedump_process_state,
        TP_PROTO(struct lttng_session *session,
                struct task_struct *p,
-               int type, int mode, int submode, int status),
-       TP_ARGS(session, p, type, mode, submode, status),
+               int type, int mode, int submode, int status,
+               struct pid_namespace *pid_ns),
+       TP_ARGS(session, p, type, mode, submode, status, pid_ns),
        TP_STRUCT__entry(
                __field(pid_t, tid)
                __field(pid_t, vtid)
@@ -48,12 +47,13 @@ TRACE_EVENT(lttng_statedump_process_state,
                __field(int, mode)
                __field(int, submode)
                __field(int, status)
+               __field(int, ns_level)
        ),
        TP_fast_assign(
                tp_assign(tid, p->pid)
-               tp_assign(vtid, !p->nsproxy ? 0 : task_pid_vnr(p))
+               tp_assign(vtid, pid_ns ? task_pid_nr_ns(p, pid_ns) : 0)
                tp_assign(pid, p->tgid)
-               tp_assign(vpid, !p->nsproxy ? 0 : task_tgid_vnr(p))
+               tp_assign(vpid, pid_ns ? task_tgid_nr_ns(p, pid_ns) : 0)
                tp_assign(ppid,
                        ({
                                pid_t ret;
@@ -66,15 +66,14 @@ TRACE_EVENT(lttng_statedump_process_state,
                tp_assign(vppid,
                        ({
                                struct task_struct *parent;
-                               pid_t ret;
+                               pid_t ret = 0;
 
-                               rcu_read_lock();
-                               parent = rcu_dereference(current->real_parent);
-                               if (!parent->nsproxy)
-                                       ret = 0;
-                               else
-                                       ret = task_tgid_nr(parent);
-                               rcu_read_unlock();
+                               if (pid_ns) {
+                                       rcu_read_lock();
+                                       parent = rcu_dereference(p->real_parent);
+                                       ret = task_tgid_nr_ns(parent, pid_ns);
+                                       rcu_read_unlock();
+                               }
                                ret;
                        }))
                tp_memcpy(name, p->comm, TASK_COMM_LEN)
@@ -82,28 +81,34 @@ TRACE_EVENT(lttng_statedump_process_state,
                tp_assign(mode, mode)
                tp_assign(submode, submode)
                tp_assign(status, status)
+               tp_assign(ns_level, pid_ns ? pid_ns->level : 0)
        ),
        TP_printk("")
 )
 
-TRACE_EVENT(lttng_statedump_file_descriptor,
+LTTNG_TRACEPOINT_EVENT(lttng_statedump_file_descriptor,
        TP_PROTO(struct lttng_session *session,
-               struct task_struct *p, int fd, const char *filename),
-       TP_ARGS(session, p, fd, filename),
+               struct task_struct *p, int fd, const char *filename,
+               unsigned int flags, fmode_t fmode),
+       TP_ARGS(session, p, fd, filename, flags, fmode),
        TP_STRUCT__entry(
                __field(pid_t, pid)
                __field(int, fd)
+               __field_oct(unsigned int, flags)
+               __field_hex(fmode_t, fmode)
                __string(filename, filename)
        ),
        TP_fast_assign(
                tp_assign(pid, p->tgid)
-               tp_assign(fd, p->tgid)
+               tp_assign(fd, fd)
+               tp_assign(flags, flags)
+               tp_assign(fmode, fmode)
                tp_strcpy(filename, filename)
        ),
        TP_printk("")
 )
 
-TRACE_EVENT(lttng_statedump_vm_map,
+LTTNG_TRACEPOINT_EVENT(lttng_statedump_vm_map,
        TP_PROTO(struct lttng_session *session,
                struct task_struct *p, struct vm_area_struct *map,
                unsigned long inode),
@@ -127,7 +132,7 @@ TRACE_EVENT(lttng_statedump_vm_map,
        TP_printk("")
 )
 
-TRACE_EVENT(lttng_statedump_network_interface,
+LTTNG_TRACEPOINT_EVENT(lttng_statedump_network_interface,
        TP_PROTO(struct lttng_session *session,
                struct net_device *dev, struct in_ifaddr *ifa),
        TP_ARGS(session, dev, ifa),
@@ -142,8 +147,23 @@ TRACE_EVENT(lttng_statedump_network_interface,
        TP_printk("")
 )
 
+LTTNG_TRACEPOINT_EVENT(lttng_statedump_block_device,
+       TP_PROTO(struct lttng_session *session,
+               dev_t dev, const char *diskname),
+       TP_ARGS(session, dev, diskname),
+       TP_STRUCT__entry(
+               __field(dev_t, dev)
+               __string(diskname, diskname)
+       ),
+       TP_fast_assign(
+               tp_assign(dev, dev)
+               tp_strcpy(diskname, diskname)
+       ),
+       TP_printk("")
+)
+
 /* Called with desc->lock held */
-TRACE_EVENT(lttng_statedump_interrupt,
+LTTNG_TRACEPOINT_EVENT(lttng_statedump_interrupt,
        TP_PROTO(struct lttng_session *session,
                unsigned int irq, const char *chip_name,
                struct irqaction *action),
@@ -151,17 +171,17 @@ TRACE_EVENT(lttng_statedump_interrupt,
        TP_STRUCT__entry(
                __field(unsigned int, irq)
                __string(name, chip_name)
-               __string(action, action->name)
+               __string(action, action->name ? : "")
        ),
        TP_fast_assign(
                tp_assign(irq, irq)
                tp_strcpy(name, chip_name)
-               tp_strcpy(action, action->name)
+               tp_strcpy(action, action->name ? : "")
        ),
        TP_printk("")
 )
 
-#endif /*  _TRACE_LTTNG_STATEDUMP_H */
+#endif /*  LTTNG_TRACE_LTTNG_STATEDUMP_H */
 
 /* This part must be outside protection */
 #include "../../../probes/define_trace.h"
This page took 0.029378 seconds and 5 git commands to generate.