Fix : wrong assign of fd in state dump
[lttng-modules.git] / instrumentation / events / lttng-module / lttng-statedump.h
CommitLineData
c337ddc2
MD
1#undef TRACE_SYSTEM
2#define TRACE_SYSTEM lttng_statedump
3
4#if !defined(_TRACE_LTTNG_STATEDUMP_H) || defined(TRACE_HEADER_MULTI_READ)
5#define _TRACE_LTTNG_STATEDUMP_H
6
7#include <linux/tracepoint.h>
c337ddc2
MD
8
9TRACE_EVENT(lttng_statedump_start,
10 TP_PROTO(struct lttng_session *session),
11 TP_ARGS(session),
12 TP_STRUCT__entry(
13 ),
14 TP_fast_assign(
15 ),
16 TP_printk("")
17)
18
19TRACE_EVENT(lttng_statedump_end,
20 TP_PROTO(struct lttng_session *session),
21 TP_ARGS(session),
22 TP_STRUCT__entry(
23 ),
24 TP_fast_assign(
25 ),
26 TP_printk("")
27)
28
29TRACE_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),
34 TP_STRUCT__entry(
35 __field(pid_t, tid)
36 __field(pid_t, vtid)
37 __field(pid_t, pid)
38 __field(pid_t, vpid)
39 __field(pid_t, ppid)
40 __field(pid_t, vppid)
41 __array_text(char, name, TASK_COMM_LEN)
42 __field(int, type)
43 __field(int, mode)
44 __field(int, submode)
45 __field(int, status)
46 ),
47 TP_fast_assign(
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))
52 tp_assign(ppid,
53 ({
54 pid_t ret;
55
56 rcu_read_lock();
57 ret = task_tgid_nr(p->real_parent);
58 rcu_read_unlock();
59 ret;
60 }))
61 tp_assign(vppid,
62 ({
63 struct task_struct *parent;
64 pid_t ret;
65
66 rcu_read_lock();
67 parent = rcu_dereference(current->real_parent);
68 if (!parent->nsproxy)
69 ret = 0;
70 else
71 ret = task_tgid_nr(parent);
72 rcu_read_unlock();
73 ret;
74 }))
75 tp_memcpy(name, p->comm, TASK_COMM_LEN)
76 tp_assign(type, type)
77 tp_assign(mode, mode)
78 tp_assign(submode, submode)
79 tp_assign(status, status)
80 ),
81 TP_printk("")
82)
83
84TRACE_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),
88 TP_STRUCT__entry(
89 __field(pid_t, pid)
90 __field(int, fd)
91 __string(filename, filename)
92 ),
93 TP_fast_assign(
94 tp_assign(pid, p->tgid)
9edf633a 95 tp_assign(fd, fd)
c337ddc2
MD
96 tp_strcpy(filename, filename)
97 ),
98 TP_printk("")
99)
100
101TRACE_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),
106 TP_STRUCT__entry(
107 __field(pid_t, pid)
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)
113 ),
114 TP_fast_assign(
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)
121 ),
122 TP_printk("")
123)
124
125TRACE_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),
129 TP_STRUCT__entry(
130 __string(name, dev->name)
131 __field_network_hex(uint32_t, address_ipv4)
132 ),
133 TP_fast_assign(
134 tp_strcpy(name, dev->name)
135 tp_assign(address_ipv4, ifa ? ifa->ifa_address : 0U)
136 ),
137 TP_printk("")
138)
139
140/* Called with desc->lock held */
141TRACE_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),
146 TP_STRUCT__entry(
147 __field(unsigned int, irq)
148 __string(name, chip_name)
149 __string(action, action->name)
150 ),
151 TP_fast_assign(
152 tp_assign(irq, irq)
153 tp_strcpy(name, chip_name)
154 tp_strcpy(action, action->name)
155 ),
156 TP_printk("")
157)
158
159#endif /* _TRACE_LTTNG_STATEDUMP_H */
160
161/* This part must be outside protection */
162#include "../../../probes/define_trace.h"
This page took 0.028232 seconds and 4 git commands to generate.