Commit | Line | Data |
---|---|---|
3cf992ce JA |
1 | #undef TRACE_SYSTEM |
2 | #define TRACE_SYSTEM writeback | |
3 | ||
4 | #if !defined(_TRACE_WRITEBACK_H) || defined(TRACE_HEADER_MULTI_READ) | |
5 | #define _TRACE_WRITEBACK_H | |
6 | ||
7 | #include <linux/backing-dev.h> | |
8 | #include <linux/writeback.h> | |
9 | ||
10 | TRACE_EVENT(writeback_queue, | |
11 | ||
12 | TP_PROTO(struct wb_writeback_args *args), | |
13 | ||
14 | TP_ARGS(args), | |
15 | ||
16 | TP_STRUCT__entry( | |
17 | __field(long, nr_pages) | |
18 | __field(int, sb) | |
19 | __field(int, sync_mode) | |
20 | __field(int, for_kupdate) | |
21 | __field(int, range_cyclic) | |
22 | __field(int, for_background) | |
23 | ), | |
24 | ||
25 | TP_fast_assign( | |
26 | __entry->nr_pages = args->nr_pages; | |
27 | __entry->sb = !!args->sb; | |
28 | __entry->for_kupdate = args->for_kupdate; | |
29 | __entry->range_cyclic = args->range_cyclic; | |
30 | __entry->for_background = args->for_background; | |
31 | ), | |
32 | ||
33 | TP_printk("pages=%ld, sb=%d, kupdate=%d, range_cyclic=%d " | |
34 | "for_background=%d", __entry->nr_pages, __entry->sb, | |
35 | __entry->for_kupdate, __entry->range_cyclic, | |
36 | __entry->for_background) | |
37 | ); | |
38 | ||
39 | TRACE_EVENT(writeback_sched, | |
40 | ||
41 | TP_PROTO(struct bdi_work *work, const char *msg), | |
42 | ||
43 | TP_ARGS(work, msg), | |
44 | ||
45 | TP_STRUCT__entry( | |
46 | __field(struct bdi_work *, work) | |
47 | __array(char, task, 8) | |
48 | ), | |
49 | ||
50 | TP_fast_assign( | |
51 | __entry->work = work; | |
52 | snprintf(__entry->task, 8, "%s", msg); | |
53 | ), | |
54 | ||
55 | TP_printk("work=%p, task=%s", __entry->work, __entry->task) | |
56 | ); | |
57 | ||
58 | TRACE_EVENT(writeback_exec, | |
59 | ||
60 | TP_PROTO(struct bdi_work *work), | |
61 | ||
62 | TP_ARGS(work), | |
63 | ||
64 | TP_STRUCT__entry( | |
65 | __field(struct bdi_work *, work) | |
66 | __field(long, nr_pages) | |
67 | __field(int, sb) | |
68 | __field(int, sync_mode) | |
69 | __field(int, for_kupdate) | |
70 | __field(int, range_cyclic) | |
71 | __field(int, for_background) | |
72 | ), | |
73 | ||
74 | TP_fast_assign( | |
75 | __entry->work = work; | |
76 | __entry->nr_pages = work->args.nr_pages; | |
77 | __entry->sb = !!work->args.sb; | |
78 | __entry->for_kupdate = work->args.for_kupdate; | |
79 | __entry->range_cyclic = work->args.range_cyclic; | |
80 | __entry->for_background = work->args.for_background; | |
81 | ||
82 | ), | |
83 | ||
84 | TP_printk("work=%p pages=%ld, sb=%d, kupdate=%d, range_cyclic=%d" | |
85 | " for_background=%d", __entry->work, | |
86 | __entry->nr_pages, __entry->sb, __entry->for_kupdate, | |
87 | __entry->range_cyclic, __entry->for_background) | |
88 | ); | |
89 | ||
8707ba9a JA |
90 | TRACE_EVENT(writeback_done, |
91 | ||
92 | TP_PROTO(struct bdi_work *work, long pages), | |
93 | ||
94 | TP_ARGS(work, pages), | |
95 | ||
96 | TP_STRUCT__entry( | |
97 | __field(unsigned int, work) | |
98 | __field(long, pages) | |
99 | ), | |
100 | ||
101 | TP_fast_assign( | |
102 | __entry->work = (unsigned long) work & 0xffff; | |
103 | __entry->pages = pages; | |
104 | ||
105 | ), | |
106 | ||
107 | TP_printk("work=%x pages=%ld", __entry->work, __entry->pages) | |
108 | ); | |
109 | ||
3cf992ce JA |
110 | TRACE_EVENT(writeback_clear, |
111 | ||
112 | TP_PROTO(struct bdi_work *work), | |
113 | ||
114 | TP_ARGS(work), | |
115 | ||
116 | TP_STRUCT__entry( | |
117 | __field(struct bdi_work *, work) | |
118 | __field(int, refs) | |
119 | ), | |
120 | ||
121 | TP_fast_assign( | |
122 | __entry->work = work; | |
123 | __entry->refs = atomic_read(&work->pending); | |
124 | ), | |
125 | ||
126 | TP_printk("work=%p, refs=%d", __entry->work, __entry->refs) | |
127 | ); | |
128 | ||
129 | TRACE_EVENT(writeback_pages_written, | |
130 | ||
131 | TP_PROTO(long pages_written), | |
132 | ||
133 | TP_ARGS(pages_written), | |
134 | ||
135 | TP_STRUCT__entry( | |
136 | __field(long, pages) | |
137 | ), | |
138 | ||
139 | TP_fast_assign( | |
140 | __entry->pages = pages_written; | |
141 | ), | |
142 | ||
143 | TP_printk("%ld", __entry->pages) | |
144 | ); | |
145 | ||
146 | ||
147 | TRACE_EVENT(writeback_thread_start, | |
148 | ||
149 | TP_PROTO(int start), | |
150 | ||
151 | TP_ARGS(start), | |
152 | ||
153 | TP_STRUCT__entry( | |
154 | __field(int, start) | |
155 | ), | |
156 | ||
157 | TP_fast_assign( | |
158 | __entry->start = start; | |
159 | ), | |
160 | ||
161 | TP_printk("%s", __entry->start ? "started" : "exited") | |
162 | ); | |
163 | ||
164 | TRACE_EVENT(writeback_bdi_register, | |
165 | ||
166 | TP_PROTO(const char *name, int start), | |
167 | ||
168 | TP_ARGS(name, start), | |
169 | ||
170 | TP_STRUCT__entry( | |
171 | __array(char, name, 16) | |
172 | __field(int, start) | |
173 | ), | |
174 | ||
175 | TP_fast_assign( | |
176 | strncpy(__entry->name, name, 16); | |
177 | __entry->start = start; | |
178 | ), | |
179 | ||
180 | TP_printk("%s: %s", __entry->name, | |
181 | __entry->start ? "registered" : "unregistered") | |
182 | ); | |
183 | ||
8707ba9a JA |
184 | TRACE_EVENT(writeback_inode_wait, |
185 | ||
186 | TP_PROTO(int start), | |
187 | ||
188 | TP_ARGS(start), | |
189 | ||
190 | TP_STRUCT__entry( | |
191 | __field(int, start) | |
192 | ), | |
193 | ||
194 | TP_fast_assign( | |
195 | __entry->start = start; | |
196 | ), | |
197 | ||
198 | TP_printk("%s", __entry->start ? "start" : "end") | |
199 | ); | |
200 | ||
201 | TRACE_EVENT(writeback_bdp_start, | |
202 | ||
203 | TP_PROTO(unsigned long reclaim, unsigned long thresh), | |
204 | ||
205 | TP_ARGS(reclaim, thresh), | |
206 | ||
207 | TP_STRUCT__entry( | |
208 | __field(unsigned long, reclaim) | |
209 | __field(unsigned long, thresh) | |
210 | ), | |
211 | ||
212 | TP_fast_assign( | |
213 | __entry->reclaim = reclaim; | |
214 | __entry->thresh = thresh; | |
215 | ), | |
216 | ||
217 | TP_printk("reclaimable=%lu, threshold=%lu", __entry->reclaim, | |
218 | __entry->thresh) | |
219 | ); | |
220 | ||
221 | TRACE_EVENT(writeback_bdp_end, | |
222 | ||
223 | TP_PROTO(unsigned long wrote), | |
224 | ||
225 | TP_ARGS(wrote), | |
226 | ||
227 | TP_STRUCT__entry( | |
228 | __field(unsigned long, wrote) | |
229 | ), | |
230 | ||
231 | TP_fast_assign( | |
232 | __entry->wrote = wrote; | |
233 | ), | |
234 | ||
235 | TP_printk("wrote=%lu", __entry->wrote) | |
236 | ); | |
237 | ||
3cf992ce JA |
238 | #endif /* _TRACE_WRITEBACK_H */ |
239 | ||
240 | /* This part must be outside protection */ | |
241 | #include <trace/define_trace.h> |