2 #define TRACE_SYSTEM lttng_statedump
4 #if !defined(_TRACE_LTTNG_STATEDUMP_H) || defined(TRACE_HEADER_MULTI_READ)
5 #define _TRACE_LTTNG_STATEDUMP_H
7 #include <linux/tracepoint.h>
9 TRACE_EVENT(lttng_statedump_start
,
10 TP_PROTO(struct lttng_session
*session
),
19 TRACE_EVENT(lttng_statedump_end
,
20 TP_PROTO(struct lttng_session
*session
),
29 TRACE_EVENT(lttng_statedump_process_state
,
30 TP_PROTO(struct lttng_session
*session
,
31 struct task_struct
*p
,
32 int type
, int mode
, int submode
, int status
),
33 TP_ARGS(session
, p
, type
, mode
, submode
, status
),
41 __array_text(char, name
, TASK_COMM_LEN
)
48 tp_assign(tid
, p
->pid
)
49 tp_assign(vtid
, !p
->nsproxy
? 0 : task_pid_vnr(p
))
50 tp_assign(pid
, p
->tgid
)
51 tp_assign(vpid
, !p
->nsproxy
? 0 : task_tgid_vnr(p
))
57 ret
= task_tgid_nr(p
->real_parent
);
63 struct task_struct
*parent
;
67 parent
= rcu_dereference(current
->real_parent
);
71 ret
= task_tgid_nr(parent
);
75 tp_memcpy(name
, p
->comm
, TASK_COMM_LEN
)
78 tp_assign(submode
, submode
)
79 tp_assign(status
, status
)
84 TRACE_EVENT(lttng_statedump_file_descriptor
,
85 TP_PROTO(struct lttng_session
*session
,
86 struct task_struct
*p
, int fd
, const char *filename
),
87 TP_ARGS(session
, p
, fd
, filename
),
91 __string(filename
, filename
)
94 tp_assign(pid
, p
->tgid
)
95 tp_assign(fd
, p
->tgid
)
96 tp_strcpy(filename
, filename
)
101 TRACE_EVENT(lttng_statedump_vm_map
,
102 TP_PROTO(struct lttng_session
*session
,
103 struct task_struct
*p
, struct vm_area_struct
*map
,
104 unsigned long inode
),
105 TP_ARGS(session
, p
, map
, inode
),
108 __field_hex(unsigned long, start
)
109 __field_hex(unsigned long, end
)
110 __field_hex(unsigned long, flags
)
111 __field(unsigned long, inode
)
112 __field(unsigned long, pgoff
)
115 tp_assign(pid
, p
->tgid
)
116 tp_assign(start
, map
->vm_start
)
117 tp_assign(end
, map
->vm_end
)
118 tp_assign(flags
, map
->vm_flags
)
119 tp_assign(inode
, inode
)
120 tp_assign(pgoff
, map
->vm_pgoff
<< PAGE_SHIFT
)
125 TRACE_EVENT(lttng_statedump_network_interface
,
126 TP_PROTO(struct lttng_session
*session
,
127 struct net_device
*dev
, struct in_ifaddr
*ifa
),
128 TP_ARGS(session
, dev
, ifa
),
130 __string(name
, dev
->name
)
131 __field_network_hex(uint32_t, address_ipv4
)
134 tp_strcpy(name
, dev
->name
)
135 tp_assign(address_ipv4
, ifa
? ifa
->ifa_address
: 0U)
140 /* Called with desc->lock held */
141 TRACE_EVENT(lttng_statedump_interrupt
,
142 TP_PROTO(struct lttng_session
*session
,
143 unsigned int irq
, const char *chip_name
,
144 struct irqaction
*action
),
145 TP_ARGS(session
, irq
, chip_name
, action
),
147 __field(unsigned int, irq
)
148 __string(name
, chip_name
)
149 __string(action
, action
->name
)
153 tp_strcpy(name
, chip_name
)
154 tp_strcpy(action
, action
->name
)
159 #endif /* _TRACE_LTTNG_STATEDUMP_H */
161 /* This part must be outside protection */
162 #include "../../../probes/define_trace.h"