Blame view

include/trace/events/kmem.h 6.93 KB
d0b6e04a4   Li Zefan   tracing/events: M...
1
2
  #undef TRACE_SYSTEM
  #define TRACE_SYSTEM kmem
ea20d9293   Steven Rostedt   tracing: consolid...
3
  #if !defined(_TRACE_KMEM_H) || defined(TRACE_HEADER_MULTI_READ)
02af61bb5   Zhaolei   tracing, kmemtrac...
4
  #define _TRACE_KMEM_H
b9ce08c01   Eduard - Gabriel Munteanu   kmemtrace: Core i...
5
6
  
  #include <linux/types.h>
fc182a433   Zhaolei   tracing, kmemtrac...
7
  #include <linux/tracepoint.h>
33906bc5c   Mel Gorman   vmscan: tracing: ...
8
  #include "gfpflags.h"
62ba180e8   Steven Rostedt   tracing: add flag...
9

53d0422c2   Li Zefan   tracing: Convert ...
10
  DECLARE_EVENT_CLASS(kmem_alloc,
ea20d9293   Steven Rostedt   tracing: consolid...
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
  
  	TP_PROTO(unsigned long call_site,
  		 const void *ptr,
  		 size_t bytes_req,
  		 size_t bytes_alloc,
  		 gfp_t gfp_flags),
  
  	TP_ARGS(call_site, ptr, bytes_req, bytes_alloc, gfp_flags),
  
  	TP_STRUCT__entry(
  		__field(	unsigned long,	call_site	)
  		__field(	const void *,	ptr		)
  		__field(	size_t,		bytes_req	)
  		__field(	size_t,		bytes_alloc	)
  		__field(	gfp_t,		gfp_flags	)
  	),
  
  	TP_fast_assign(
  		__entry->call_site	= call_site;
  		__entry->ptr		= ptr;
  		__entry->bytes_req	= bytes_req;
  		__entry->bytes_alloc	= bytes_alloc;
  		__entry->gfp_flags	= gfp_flags;
  	),
62ba180e8   Steven Rostedt   tracing: add flag...
35
  	TP_printk("call_site=%lx ptr=%p bytes_req=%zu bytes_alloc=%zu gfp_flags=%s",
ea20d9293   Steven Rostedt   tracing: consolid...
36
37
38
39
  		__entry->call_site,
  		__entry->ptr,
  		__entry->bytes_req,
  		__entry->bytes_alloc,
62ba180e8   Steven Rostedt   tracing: add flag...
40
  		show_gfp_flags(__entry->gfp_flags))
ea20d9293   Steven Rostedt   tracing: consolid...
41
  );
53d0422c2   Li Zefan   tracing: Convert ...
42
  DEFINE_EVENT(kmem_alloc, kmalloc,
ea20d9293   Steven Rostedt   tracing: consolid...
43

53d0422c2   Li Zefan   tracing: Convert ...
44
45
  	TP_PROTO(unsigned long call_site, const void *ptr,
  		 size_t bytes_req, size_t bytes_alloc, gfp_t gfp_flags),
ea20d9293   Steven Rostedt   tracing: consolid...
46

53d0422c2   Li Zefan   tracing: Convert ...
47
48
  	TP_ARGS(call_site, ptr, bytes_req, bytes_alloc, gfp_flags)
  );
ea20d9293   Steven Rostedt   tracing: consolid...
49

53d0422c2   Li Zefan   tracing: Convert ...
50
  DEFINE_EVENT(kmem_alloc, kmem_cache_alloc,
ea20d9293   Steven Rostedt   tracing: consolid...
51

53d0422c2   Li Zefan   tracing: Convert ...
52
53
  	TP_PROTO(unsigned long call_site, const void *ptr,
  		 size_t bytes_req, size_t bytes_alloc, gfp_t gfp_flags),
ea20d9293   Steven Rostedt   tracing: consolid...
54

53d0422c2   Li Zefan   tracing: Convert ...
55
  	TP_ARGS(call_site, ptr, bytes_req, bytes_alloc, gfp_flags)
ea20d9293   Steven Rostedt   tracing: consolid...
56
  );
53d0422c2   Li Zefan   tracing: Convert ...
57
  DECLARE_EVENT_CLASS(kmem_alloc_node,
ea20d9293   Steven Rostedt   tracing: consolid...
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
  
  	TP_PROTO(unsigned long call_site,
  		 const void *ptr,
  		 size_t bytes_req,
  		 size_t bytes_alloc,
  		 gfp_t gfp_flags,
  		 int node),
  
  	TP_ARGS(call_site, ptr, bytes_req, bytes_alloc, gfp_flags, node),
  
  	TP_STRUCT__entry(
  		__field(	unsigned long,	call_site	)
  		__field(	const void *,	ptr		)
  		__field(	size_t,		bytes_req	)
  		__field(	size_t,		bytes_alloc	)
  		__field(	gfp_t,		gfp_flags	)
  		__field(	int,		node		)
  	),
  
  	TP_fast_assign(
  		__entry->call_site	= call_site;
  		__entry->ptr		= ptr;
  		__entry->bytes_req	= bytes_req;
  		__entry->bytes_alloc	= bytes_alloc;
  		__entry->gfp_flags	= gfp_flags;
  		__entry->node		= node;
  	),
62ba180e8   Steven Rostedt   tracing: add flag...
85
  	TP_printk("call_site=%lx ptr=%p bytes_req=%zu bytes_alloc=%zu gfp_flags=%s node=%d",
ea20d9293   Steven Rostedt   tracing: consolid...
86
87
88
89
  		__entry->call_site,
  		__entry->ptr,
  		__entry->bytes_req,
  		__entry->bytes_alloc,
62ba180e8   Steven Rostedt   tracing: add flag...
90
  		show_gfp_flags(__entry->gfp_flags),
ea20d9293   Steven Rostedt   tracing: consolid...
91
92
  		__entry->node)
  );
53d0422c2   Li Zefan   tracing: Convert ...
93
  DEFINE_EVENT(kmem_alloc_node, kmalloc_node,
ea20d9293   Steven Rostedt   tracing: consolid...
94

53d0422c2   Li Zefan   tracing: Convert ...
95
96
97
  	TP_PROTO(unsigned long call_site, const void *ptr,
  		 size_t bytes_req, size_t bytes_alloc,
  		 gfp_t gfp_flags, int node),
ea20d9293   Steven Rostedt   tracing: consolid...
98

53d0422c2   Li Zefan   tracing: Convert ...
99
100
  	TP_ARGS(call_site, ptr, bytes_req, bytes_alloc, gfp_flags, node)
  );
ea20d9293   Steven Rostedt   tracing: consolid...
101

53d0422c2   Li Zefan   tracing: Convert ...
102
  DEFINE_EVENT(kmem_alloc_node, kmem_cache_alloc_node,
ea20d9293   Steven Rostedt   tracing: consolid...
103

53d0422c2   Li Zefan   tracing: Convert ...
104
105
106
  	TP_PROTO(unsigned long call_site, const void *ptr,
  		 size_t bytes_req, size_t bytes_alloc,
  		 gfp_t gfp_flags, int node),
ea20d9293   Steven Rostedt   tracing: consolid...
107

53d0422c2   Li Zefan   tracing: Convert ...
108
  	TP_ARGS(call_site, ptr, bytes_req, bytes_alloc, gfp_flags, node)
ea20d9293   Steven Rostedt   tracing: consolid...
109
  );
53d0422c2   Li Zefan   tracing: Convert ...
110
  DECLARE_EVENT_CLASS(kmem_free,
ea20d9293   Steven Rostedt   tracing: consolid...
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
  
  	TP_PROTO(unsigned long call_site, const void *ptr),
  
  	TP_ARGS(call_site, ptr),
  
  	TP_STRUCT__entry(
  		__field(	unsigned long,	call_site	)
  		__field(	const void *,	ptr		)
  	),
  
  	TP_fast_assign(
  		__entry->call_site	= call_site;
  		__entry->ptr		= ptr;
  	),
  
  	TP_printk("call_site=%lx ptr=%p", __entry->call_site, __entry->ptr)
  );
53d0422c2   Li Zefan   tracing: Convert ...
128
  DEFINE_EVENT(kmem_free, kfree,
ea20d9293   Steven Rostedt   tracing: consolid...
129
130
  
  	TP_PROTO(unsigned long call_site, const void *ptr),
53d0422c2   Li Zefan   tracing: Convert ...
131
132
  	TP_ARGS(call_site, ptr)
  );
ea20d9293   Steven Rostedt   tracing: consolid...
133

53d0422c2   Li Zefan   tracing: Convert ...
134
  DEFINE_EVENT(kmem_free, kmem_cache_free,
ea20d9293   Steven Rostedt   tracing: consolid...
135

53d0422c2   Li Zefan   tracing: Convert ...
136
  	TP_PROTO(unsigned long call_site, const void *ptr),
ea20d9293   Steven Rostedt   tracing: consolid...
137

53d0422c2   Li Zefan   tracing: Convert ...
138
  	TP_ARGS(call_site, ptr)
ea20d9293   Steven Rostedt   tracing: consolid...
139
  );
4b4f278c0   Mel Gorman   tracing, page-all...
140

b413d48aa   Konstantin Khlebnikov   mm-tracepoint: re...
141
  TRACE_EVENT(mm_page_free,
4b4f278c0   Mel Gorman   tracing, page-all...
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
  
  	TP_PROTO(struct page *page, unsigned int order),
  
  	TP_ARGS(page, order),
  
  	TP_STRUCT__entry(
  		__field(	struct page *,	page		)
  		__field(	unsigned int,	order		)
  	),
  
  	TP_fast_assign(
  		__entry->page		= page;
  		__entry->order		= order;
  	),
  
  	TP_printk("page=%p pfn=%lu order=%d",
  			__entry->page,
  			page_to_pfn(__entry->page),
  			__entry->order)
  );
b413d48aa   Konstantin Khlebnikov   mm-tracepoint: re...
162
  TRACE_EVENT(mm_page_free_batched,
4b4f278c0   Mel Gorman   tracing, page-all...
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
  
  	TP_PROTO(struct page *page, int cold),
  
  	TP_ARGS(page, cold),
  
  	TP_STRUCT__entry(
  		__field(	struct page *,	page		)
  		__field(	int,		cold		)
  	),
  
  	TP_fast_assign(
  		__entry->page		= page;
  		__entry->cold		= cold;
  	),
  
  	TP_printk("page=%p pfn=%lu order=0 cold=%d",
  			__entry->page,
  			page_to_pfn(__entry->page),
  			__entry->cold)
  );
  
  TRACE_EVENT(mm_page_alloc,
  
  	TP_PROTO(struct page *page, unsigned int order,
  			gfp_t gfp_flags, int migratetype),
  
  	TP_ARGS(page, order, gfp_flags, migratetype),
  
  	TP_STRUCT__entry(
  		__field(	struct page *,	page		)
  		__field(	unsigned int,	order		)
  		__field(	gfp_t,		gfp_flags	)
  		__field(	int,		migratetype	)
  	),
  
  	TP_fast_assign(
  		__entry->page		= page;
  		__entry->order		= order;
  		__entry->gfp_flags	= gfp_flags;
  		__entry->migratetype	= migratetype;
  	),
  
  	TP_printk("page=%p pfn=%lu order=%d migratetype=%d gfp_flags=%s",
  		__entry->page,
  		page_to_pfn(__entry->page),
  		__entry->order,
  		__entry->migratetype,
  		show_gfp_flags(__entry->gfp_flags))
  );
53d0422c2   Li Zefan   tracing: Convert ...
212
  DECLARE_EVENT_CLASS(mm_page,
0d3d062a6   Mel Gorman   tracing, page-all...
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
  
  	TP_PROTO(struct page *page, unsigned int order, int migratetype),
  
  	TP_ARGS(page, order, migratetype),
  
  	TP_STRUCT__entry(
  		__field(	struct page *,	page		)
  		__field(	unsigned int,	order		)
  		__field(	int,		migratetype	)
  	),
  
  	TP_fast_assign(
  		__entry->page		= page;
  		__entry->order		= order;
  		__entry->migratetype	= migratetype;
  	),
  
  	TP_printk("page=%p pfn=%lu order=%u migratetype=%d percpu_refill=%d",
  		__entry->page,
  		page_to_pfn(__entry->page),
  		__entry->order,
  		__entry->migratetype,
  		__entry->order == 0)
  );
53d0422c2   Li Zefan   tracing: Convert ...
237
  DEFINE_EVENT(mm_page, mm_page_alloc_zone_locked,
0d3d062a6   Mel Gorman   tracing, page-all...
238

53d0422c2   Li Zefan   tracing: Convert ...
239
  	TP_PROTO(struct page *page, unsigned int order, int migratetype),
0d3d062a6   Mel Gorman   tracing, page-all...
240

53d0422c2   Li Zefan   tracing: Convert ...
241
242
  	TP_ARGS(page, order, migratetype)
  );
0d3d062a6   Mel Gorman   tracing, page-all...
243

53d0422c2   Li Zefan   tracing: Convert ...
244
  DEFINE_EVENT_PRINT(mm_page, mm_page_pcpu_drain,
0d3d062a6   Mel Gorman   tracing, page-all...
245

53d0422c2   Li Zefan   tracing: Convert ...
246
247
248
  	TP_PROTO(struct page *page, unsigned int order, int migratetype),
  
  	TP_ARGS(page, order, migratetype),
0d3d062a6   Mel Gorman   tracing, page-all...
249
250
  
  	TP_printk("page=%p pfn=%lu order=%d migratetype=%d",
53d0422c2   Li Zefan   tracing: Convert ...
251
252
  		__entry->page, page_to_pfn(__entry->page),
  		__entry->order, __entry->migratetype)
0d3d062a6   Mel Gorman   tracing, page-all...
253
  );
e0fff1bd1   Mel Gorman   tracing, page-all...
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
  TRACE_EVENT(mm_page_alloc_extfrag,
  
  	TP_PROTO(struct page *page,
  			int alloc_order, int fallback_order,
  			int alloc_migratetype, int fallback_migratetype),
  
  	TP_ARGS(page,
  		alloc_order, fallback_order,
  		alloc_migratetype, fallback_migratetype),
  
  	TP_STRUCT__entry(
  		__field(	struct page *,	page			)
  		__field(	int,		alloc_order		)
  		__field(	int,		fallback_order		)
  		__field(	int,		alloc_migratetype	)
  		__field(	int,		fallback_migratetype	)
  	),
  
  	TP_fast_assign(
  		__entry->page			= page;
  		__entry->alloc_order		= alloc_order;
  		__entry->fallback_order		= fallback_order;
  		__entry->alloc_migratetype	= alloc_migratetype;
  		__entry->fallback_migratetype	= fallback_migratetype;
  	),
  
  	TP_printk("page=%p pfn=%lu alloc_order=%d fallback_order=%d pageblock_order=%d alloc_migratetype=%d fallback_migratetype=%d fragmenting=%d change_ownership=%d",
  		__entry->page,
  		page_to_pfn(__entry->page),
  		__entry->alloc_order,
  		__entry->fallback_order,
  		pageblock_order,
  		__entry->alloc_migratetype,
  		__entry->fallback_migratetype,
  		__entry->fallback_order < pageblock_order,
  		__entry->alloc_migratetype == __entry->fallback_migratetype)
  );
a8d154b00   Steven Rostedt   tracing: create a...
291
  #endif /* _TRACE_KMEM_H */
ea20d9293   Steven Rostedt   tracing: consolid...
292

a8d154b00   Steven Rostedt   tracing: create a...
293
294
  /* This part must be outside protection */
  #include <trace/define_trace.h>