Commit | Line | Data |
---|---|---|
b7cdc182 | 1 | /* SPDX-License-Identifier: GPL-2.0-only */ |
b283666f PW |
2 | #undef TRACE_SYSTEM |
3 | #define TRACE_SYSTEM kmem | |
4 | ||
3bc29f0a MD |
5 | #if !defined(LTTNG_TRACE_KMEM_H) || defined(TRACE_HEADER_MULTI_READ) |
6 | #define LTTNG_TRACE_KMEM_H | |
b283666f | 7 | |
3b4aafcb | 8 | #include <lttng/tracepoint-event.h> |
7c68b363 | 9 | #include <linux/types.h> |
5f4c791e | 10 | #include <lttng/kernel-version.h> |
7c68b363 | 11 | |
c02d67bc MJ |
12 | #if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(6,0,0)) |
13 | ||
14 | #include <../../mm/slab.h> | |
15 | ||
16 | LTTNG_TRACEPOINT_EVENT_CLASS(kmem_alloc, | |
17 | ||
18 | TP_PROTO(unsigned long call_site, | |
19 | const void *ptr, | |
20 | struct kmem_cache *s, | |
21 | size_t bytes_req, | |
22 | size_t bytes_alloc, | |
23 | gfp_t gfp_flags), | |
24 | ||
25 | TP_ARGS(call_site, ptr, s, bytes_req, bytes_alloc, gfp_flags), | |
26 | ||
27 | TP_FIELDS( | |
28 | ctf_integer_hex(unsigned long, call_site, call_site) | |
29 | ctf_integer_hex(const void *, ptr, ptr) | |
30 | ctf_integer(size_t, bytes_req, bytes_req) | |
31 | ctf_integer(size_t, bytes_alloc, bytes_alloc) | |
32 | ctf_integer(gfp_t, gfp_flags, gfp_flags) | |
33 | ctf_integer(bool, accounted, IS_ENABLED(CONFIG_MEMCG_KMEM) ? | |
34 | ((gfp_flags & __GFP_ACCOUNT) || | |
35 | (s && s->flags & SLAB_ACCOUNT)) : false) | |
36 | ) | |
37 | ) | |
38 | ||
39 | LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(kmem_alloc, kmalloc, | |
40 | ||
41 | kmem_kmalloc, | |
42 | ||
43 | TP_PROTO(unsigned long call_site, const void *ptr, struct kmem_cache *s, | |
44 | size_t bytes_req, size_t bytes_alloc, gfp_t gfp_flags), | |
45 | ||
46 | TP_ARGS(call_site, ptr, s, bytes_req, bytes_alloc, gfp_flags) | |
47 | ) | |
48 | ||
49 | LTTNG_TRACEPOINT_EVENT_INSTANCE(kmem_alloc, kmem_cache_alloc, | |
50 | ||
51 | TP_PROTO(unsigned long call_site, const void *ptr, struct kmem_cache *s, | |
52 | size_t bytes_req, size_t bytes_alloc, gfp_t gfp_flags), | |
53 | ||
54 | TP_ARGS(call_site, ptr, s, bytes_req, bytes_alloc, gfp_flags) | |
55 | ) | |
56 | ||
57 | LTTNG_TRACEPOINT_EVENT_CLASS(kmem_alloc_node, | |
58 | ||
59 | TP_PROTO(unsigned long call_site, | |
60 | const void *ptr, | |
61 | struct kmem_cache *s, | |
62 | size_t bytes_req, | |
63 | size_t bytes_alloc, | |
64 | gfp_t gfp_flags, | |
65 | int node), | |
66 | ||
67 | TP_ARGS(call_site, ptr, s, bytes_req, bytes_alloc, gfp_flags, node), | |
68 | ||
69 | TP_FIELDS( | |
70 | ctf_integer_hex(unsigned long, call_site, call_site) | |
71 | ctf_integer_hex(const void *, ptr, ptr) | |
72 | ctf_integer(size_t, bytes_req, bytes_req) | |
73 | ctf_integer(size_t, bytes_alloc, bytes_alloc) | |
74 | ctf_integer(gfp_t, gfp_flags, gfp_flags) | |
75 | ctf_integer(int, node, node) | |
76 | ctf_integer(bool, accounted, IS_ENABLED(CONFIG_MEMCG_KMEM) ? | |
77 | ((gfp_flags & __GFP_ACCOUNT) || | |
78 | (s && s->flags & SLAB_ACCOUNT)) : false) | |
79 | ) | |
80 | ) | |
81 | ||
82 | LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(kmem_alloc_node, kmalloc_node, | |
83 | ||
84 | kmem_kmalloc_node, | |
85 | ||
86 | TP_PROTO(unsigned long call_site, const void *ptr, | |
87 | struct kmem_cache *s, size_t bytes_req, size_t bytes_alloc, | |
88 | gfp_t gfp_flags, int node), | |
89 | ||
90 | TP_ARGS(call_site, ptr, s, bytes_req, bytes_alloc, gfp_flags, node) | |
91 | ) | |
92 | ||
93 | LTTNG_TRACEPOINT_EVENT_INSTANCE(kmem_alloc_node, kmem_cache_alloc_node, | |
94 | ||
95 | TP_PROTO(unsigned long call_site, const void *ptr, | |
96 | struct kmem_cache *s, size_t bytes_req, size_t bytes_alloc, | |
97 | gfp_t gfp_flags, int node), | |
98 | ||
99 | TP_ARGS(call_site, ptr, s, bytes_req, bytes_alloc, gfp_flags, node) | |
100 | ) | |
101 | #else | |
3bc29f0a | 102 | LTTNG_TRACEPOINT_EVENT_CLASS(kmem_alloc, |
b283666f PW |
103 | |
104 | TP_PROTO(unsigned long call_site, | |
105 | const void *ptr, | |
106 | size_t bytes_req, | |
107 | size_t bytes_alloc, | |
108 | gfp_t gfp_flags), | |
109 | ||
110 | TP_ARGS(call_site, ptr, bytes_req, bytes_alloc, gfp_flags), | |
111 | ||
f127e61e MD |
112 | TP_FIELDS( |
113 | ctf_integer_hex(unsigned long, call_site, call_site) | |
114 | ctf_integer_hex(const void *, ptr, ptr) | |
115 | ctf_integer(size_t, bytes_req, bytes_req) | |
116 | ctf_integer(size_t, bytes_alloc, bytes_alloc) | |
117 | ctf_integer(gfp_t, gfp_flags, gfp_flags) | |
118 | ) | |
b283666f PW |
119 | ) |
120 | ||
3bc29f0a | 121 | LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(kmem_alloc, kmalloc, |
9cf29d3e MD |
122 | |
123 | kmem_kmalloc, | |
b283666f PW |
124 | |
125 | TP_PROTO(unsigned long call_site, const void *ptr, | |
126 | size_t bytes_req, size_t bytes_alloc, gfp_t gfp_flags), | |
127 | ||
128 | TP_ARGS(call_site, ptr, bytes_req, bytes_alloc, gfp_flags) | |
129 | ) | |
130 | ||
3bc29f0a | 131 | LTTNG_TRACEPOINT_EVENT_INSTANCE(kmem_alloc, kmem_cache_alloc, |
b283666f PW |
132 | |
133 | TP_PROTO(unsigned long call_site, const void *ptr, | |
134 | size_t bytes_req, size_t bytes_alloc, gfp_t gfp_flags), | |
135 | ||
136 | TP_ARGS(call_site, ptr, bytes_req, bytes_alloc, gfp_flags) | |
137 | ) | |
138 | ||
3bc29f0a | 139 | LTTNG_TRACEPOINT_EVENT_CLASS(kmem_alloc_node, |
b283666f PW |
140 | |
141 | TP_PROTO(unsigned long call_site, | |
142 | const void *ptr, | |
143 | size_t bytes_req, | |
144 | size_t bytes_alloc, | |
145 | gfp_t gfp_flags, | |
146 | int node), | |
147 | ||
148 | TP_ARGS(call_site, ptr, bytes_req, bytes_alloc, gfp_flags, node), | |
149 | ||
f127e61e MD |
150 | TP_FIELDS( |
151 | ctf_integer_hex(unsigned long, call_site, call_site) | |
152 | ctf_integer_hex(const void *, ptr, ptr) | |
153 | ctf_integer(size_t, bytes_req, bytes_req) | |
154 | ctf_integer(size_t, bytes_alloc, bytes_alloc) | |
155 | ctf_integer(gfp_t, gfp_flags, gfp_flags) | |
156 | ctf_integer(int, node, node) | |
157 | ) | |
b283666f PW |
158 | ) |
159 | ||
3bc29f0a | 160 | LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(kmem_alloc_node, kmalloc_node, |
9cf29d3e MD |
161 | |
162 | kmem_kmalloc_node, | |
b283666f PW |
163 | |
164 | TP_PROTO(unsigned long call_site, const void *ptr, | |
165 | size_t bytes_req, size_t bytes_alloc, | |
166 | gfp_t gfp_flags, int node), | |
167 | ||
168 | TP_ARGS(call_site, ptr, bytes_req, bytes_alloc, gfp_flags, node) | |
169 | ) | |
170 | ||
3bc29f0a | 171 | LTTNG_TRACEPOINT_EVENT_INSTANCE(kmem_alloc_node, kmem_cache_alloc_node, |
b283666f PW |
172 | |
173 | TP_PROTO(unsigned long call_site, const void *ptr, | |
174 | size_t bytes_req, size_t bytes_alloc, | |
175 | gfp_t gfp_flags, int node), | |
176 | ||
177 | TP_ARGS(call_site, ptr, bytes_req, bytes_alloc, gfp_flags, node) | |
178 | ) | |
c02d67bc | 179 | #endif |
b283666f | 180 | |
a8bc8ae5 | 181 | #if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(5,12,0)) |
e7c9f1a9 HZ |
182 | LTTNG_TRACEPOINT_EVENT_MAP(kfree, |
183 | ||
184 | kmem_kfree, | |
a8bc8ae5 MJ |
185 | |
186 | TP_PROTO(unsigned long call_site, const void *ptr), | |
187 | ||
188 | TP_ARGS(call_site, ptr), | |
189 | ||
190 | TP_FIELDS( | |
191 | ctf_integer_hex(unsigned long, call_site, call_site) | |
192 | ctf_integer_hex(const void *, ptr, ptr) | |
193 | ) | |
194 | ) | |
195 | ||
196 | LTTNG_TRACEPOINT_EVENT(kmem_cache_free, | |
197 | ||
198 | TP_PROTO(unsigned long call_site, const void *ptr, const char *name), | |
199 | ||
200 | TP_ARGS(call_site, ptr, name), | |
201 | ||
202 | TP_FIELDS( | |
203 | ctf_integer_hex(unsigned long, call_site, call_site) | |
204 | ctf_integer_hex(const void *, ptr, ptr) | |
205 | ctf_string(name, name) | |
206 | ) | |
207 | ) | |
208 | #else | |
3bc29f0a | 209 | LTTNG_TRACEPOINT_EVENT_CLASS(kmem_free, |
b283666f PW |
210 | |
211 | TP_PROTO(unsigned long call_site, const void *ptr), | |
212 | ||
213 | TP_ARGS(call_site, ptr), | |
214 | ||
f127e61e MD |
215 | TP_FIELDS( |
216 | ctf_integer_hex(unsigned long, call_site, call_site) | |
217 | ctf_integer_hex(const void *, ptr, ptr) | |
218 | ) | |
b283666f PW |
219 | ) |
220 | ||
3bc29f0a | 221 | LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(kmem_free, kfree, |
9cf29d3e MD |
222 | |
223 | kmem_kfree, | |
b283666f PW |
224 | |
225 | TP_PROTO(unsigned long call_site, const void *ptr), | |
226 | ||
227 | TP_ARGS(call_site, ptr) | |
228 | ) | |
229 | ||
3bc29f0a | 230 | LTTNG_TRACEPOINT_EVENT_INSTANCE(kmem_free, kmem_cache_free, |
b283666f PW |
231 | |
232 | TP_PROTO(unsigned long call_site, const void *ptr), | |
233 | ||
234 | TP_ARGS(call_site, ptr) | |
235 | ) | |
a8bc8ae5 | 236 | #endif |
b283666f | 237 | |
5f4c791e | 238 | #if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(3,3,0)) |
9bbf98da | 239 | LTTNG_TRACEPOINT_EVENT_MAP(mm_page_free, kmem_mm_page_free, |
7c68b363 | 240 | #else |
9bbf98da | 241 | LTTNG_TRACEPOINT_EVENT_MAP(mm_page_free_direct, kmem_mm_page_free_direct, |
7c68b363 | 242 | #endif |
b283666f PW |
243 | |
244 | TP_PROTO(struct page *page, unsigned int order), | |
245 | ||
246 | TP_ARGS(page, order), | |
247 | ||
f127e61e MD |
248 | TP_FIELDS( |
249 | ctf_integer_hex(struct page *, page, page) | |
d1cf842b | 250 | ctf_integer(unsigned long, pfn, page_to_pfn(page)) |
f127e61e MD |
251 | ctf_integer(unsigned int, order, order) |
252 | ) | |
b283666f PW |
253 | ) |
254 | ||
5f4c791e | 255 | #if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(4,15,0)) |
071c76b5 MJ |
256 | LTTNG_TRACEPOINT_EVENT_MAP(mm_page_free_batched, kmem_mm_page_free_batched, |
257 | ||
258 | TP_PROTO(struct page *page), | |
259 | ||
260 | TP_ARGS(page), | |
261 | ||
262 | TP_FIELDS( | |
263 | ctf_integer_hex(struct page *, page, page) | |
264 | ctf_integer(unsigned long, pfn, page_to_pfn(page)) | |
265 | ) | |
266 | ) | |
5f4c791e | 267 | #elif (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(3,3,0)) |
9bbf98da | 268 | LTTNG_TRACEPOINT_EVENT_MAP(mm_page_free_batched, kmem_mm_page_free_batched, |
071c76b5 MJ |
269 | |
270 | TP_PROTO(struct page *page, int cold), | |
271 | ||
272 | TP_ARGS(page, cold), | |
273 | ||
274 | TP_FIELDS( | |
275 | ctf_integer_hex(struct page *, page, page) | |
276 | ctf_integer(unsigned long, pfn, page_to_pfn(page)) | |
277 | ctf_integer(int, cold, cold) | |
278 | ) | |
279 | ) | |
7c68b363 | 280 | #else |
9bbf98da | 281 | LTTNG_TRACEPOINT_EVENT_MAP(mm_pagevec_free, kmem_pagevec_free, |
b283666f PW |
282 | |
283 | TP_PROTO(struct page *page, int cold), | |
284 | ||
285 | TP_ARGS(page, cold), | |
286 | ||
f127e61e MD |
287 | TP_FIELDS( |
288 | ctf_integer_hex(struct page *, page, page) | |
d1cf842b | 289 | ctf_integer(unsigned long, pfn, page_to_pfn(page)) |
f127e61e MD |
290 | ctf_integer(int, cold, cold) |
291 | ) | |
b283666f | 292 | ) |
071c76b5 | 293 | #endif |
b283666f | 294 | |
9bbf98da | 295 | LTTNG_TRACEPOINT_EVENT_MAP(mm_page_alloc, kmem_mm_page_alloc, |
b283666f PW |
296 | |
297 | TP_PROTO(struct page *page, unsigned int order, | |
298 | gfp_t gfp_flags, int migratetype), | |
299 | ||
300 | TP_ARGS(page, order, gfp_flags, migratetype), | |
301 | ||
f127e61e MD |
302 | TP_FIELDS( |
303 | ctf_integer_hex(struct page *, page, page) | |
d1cf842b MD |
304 | ctf_integer(unsigned long, pfn, |
305 | page ? page_to_pfn(page) : -1UL) | |
f127e61e MD |
306 | ctf_integer(unsigned int, order, order) |
307 | ctf_integer(gfp_t, gfp_flags, gfp_flags) | |
308 | ctf_integer(int, migratetype, migratetype) | |
309 | ) | |
b283666f PW |
310 | ) |
311 | ||
6229bbaa MJ |
312 | #if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(5,19,0)) |
313 | LTTNG_TRACEPOINT_EVENT_CLASS(kmem_mm_page, | |
314 | ||
315 | TP_PROTO(struct page *page, unsigned int order, int migratetype, | |
316 | int percpu_refill), | |
317 | ||
318 | TP_ARGS(page, order, migratetype, percpu_refill), | |
319 | ||
320 | TP_FIELDS( | |
321 | ctf_integer_hex(struct page *, page, page) | |
322 | ctf_integer(unsigned long, pfn, | |
323 | page ? page_to_pfn(page) : -1UL) | |
324 | ctf_integer(unsigned int, order, order) | |
325 | ctf_integer(int, migratetype, migratetype) | |
326 | ctf_integer(int, percpu_refill, percpu_refill) | |
327 | ) | |
328 | ) | |
329 | ||
330 | LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(kmem_mm_page, mm_page_alloc_zone_locked, | |
331 | ||
332 | kmem_mm_page_alloc_zone_locked, | |
333 | ||
334 | TP_PROTO(struct page *page, unsigned int order, int migratetype, | |
335 | int percpu_refill), | |
336 | ||
337 | TP_ARGS(page, order, migratetype, percpu_refill) | |
338 | ) | |
339 | ||
340 | LTTNG_TRACEPOINT_EVENT_MAP(mm_page_pcpu_drain, | |
341 | ||
342 | kmem_mm_page_pcpu_drain, | |
343 | ||
344 | TP_PROTO(struct page *page, unsigned int order, int migratetype), | |
345 | ||
346 | TP_ARGS(page, order, migratetype), | |
347 | ||
348 | TP_FIELDS( | |
349 | ctf_integer(unsigned long, pfn, | |
350 | page ? page_to_pfn(page) : -1UL) | |
351 | ctf_integer(unsigned int, order, order) | |
352 | ctf_integer(int, migratetype, migratetype) | |
353 | ) | |
354 | ) | |
355 | #else | |
9bbf98da | 356 | LTTNG_TRACEPOINT_EVENT_CLASS(kmem_mm_page, |
b283666f PW |
357 | |
358 | TP_PROTO(struct page *page, unsigned int order, int migratetype), | |
359 | ||
360 | TP_ARGS(page, order, migratetype), | |
361 | ||
f127e61e MD |
362 | TP_FIELDS( |
363 | ctf_integer_hex(struct page *, page, page) | |
d1cf842b MD |
364 | ctf_integer(unsigned long, pfn, |
365 | page ? page_to_pfn(page) : -1UL) | |
f127e61e MD |
366 | ctf_integer(unsigned int, order, order) |
367 | ctf_integer(int, migratetype, migratetype) | |
368 | ) | |
b283666f PW |
369 | ) |
370 | ||
9bbf98da MD |
371 | LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(kmem_mm_page, mm_page_alloc_zone_locked, |
372 | ||
373 | kmem_mm_page_alloc_zone_locked, | |
b283666f PW |
374 | |
375 | TP_PROTO(struct page *page, unsigned int order, int migratetype), | |
376 | ||
377 | TP_ARGS(page, order, migratetype) | |
378 | ) | |
379 | ||
f127e61e | 380 | LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(kmem_mm_page, mm_page_pcpu_drain, |
9bbf98da MD |
381 | |
382 | kmem_mm_page_pcpu_drain, | |
b283666f PW |
383 | |
384 | TP_PROTO(struct page *page, unsigned int order, int migratetype), | |
385 | ||
f127e61e | 386 | TP_ARGS(page, order, migratetype) |
b283666f | 387 | ) |
6229bbaa | 388 | #endif |
b283666f | 389 | |
5f4c791e | 390 | #if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(3,19,2) \ |
72e6c528 | 391 | || LTTNG_KERNEL_RANGE(3,14,36, 3,15,0) \ |
83884c09 | 392 | || LTTNG_KERNEL_RANGE(3,16,35, 3,17,0) \ |
f1b58fb1 | 393 | || LTTNG_KERNEL_RANGE(3,18,10, 3,19,0) \ |
72906e12 | 394 | || LTTNG_DEBIAN_KERNEL_RANGE(3,16,7,9,0,0, 3,17,0,0,0,0) \ |
f8996f1b | 395 | || LTTNG_UBUNTU_KERNEL_RANGE(3,13,11,50, 3,14,0,0) \ |
472b44c2 | 396 | || LTTNG_UBUNTU_KERNEL_RANGE(3,16,7,34, 3,17,0,0)) |
2cf0c2ca | 397 | |
7c9c39d2 MD |
398 | LTTNG_TRACEPOINT_EVENT_MAP(mm_page_alloc_extfrag, |
399 | ||
400 | kmem_mm_page_alloc_extfrag, | |
2cf0c2ca MD |
401 | |
402 | TP_PROTO(struct page *page, | |
403 | int alloc_order, int fallback_order, | |
404 | int alloc_migratetype, int fallback_migratetype), | |
405 | ||
406 | TP_ARGS(page, | |
407 | alloc_order, fallback_order, | |
408 | alloc_migratetype, fallback_migratetype), | |
409 | ||
c94b360d MD |
410 | TP_FIELDS( |
411 | ctf_integer_hex(struct page *, page, page) | |
d1cf842b | 412 | ctf_integer(unsigned long, pfn, page_to_pfn(page)) |
c94b360d MD |
413 | ctf_integer(int, alloc_order, alloc_order) |
414 | ctf_integer(int, fallback_order, fallback_order) | |
415 | ctf_integer(int, alloc_migratetype, alloc_migratetype) | |
416 | ctf_integer(int, fallback_migratetype, fallback_migratetype) | |
417 | ctf_integer(int, change_ownership, | |
2cf0c2ca | 418 | (alloc_migratetype == get_pageblock_migratetype(page))) |
c94b360d | 419 | ) |
2cf0c2ca MD |
420 | ) |
421 | ||
5f4c791e | 422 | #elif (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(3,12,30)) |
8b831331 | 423 | |
7c9c39d2 MD |
424 | LTTNG_TRACEPOINT_EVENT_MAP(mm_page_alloc_extfrag, |
425 | ||
426 | kmem_mm_page_alloc_extfrag, | |
8b831331 MD |
427 | |
428 | TP_PROTO(struct page *page, | |
429 | int alloc_order, int fallback_order, | |
430 | int alloc_migratetype, int fallback_migratetype, int new_migratetype), | |
431 | ||
432 | TP_ARGS(page, | |
433 | alloc_order, fallback_order, | |
434 | alloc_migratetype, fallback_migratetype, new_migratetype), | |
435 | ||
c94b360d MD |
436 | TP_FIELDS( |
437 | ctf_integer_hex(struct page *, page, page) | |
d1cf842b | 438 | ctf_integer(unsigned long, pfn, page_to_pfn(page)) |
c94b360d MD |
439 | ctf_integer(int, alloc_order, alloc_order) |
440 | ctf_integer(int, fallback_order, fallback_order) | |
441 | ctf_integer(int, alloc_migratetype, alloc_migratetype) | |
442 | ctf_integer(int, fallback_migratetype, fallback_migratetype) | |
443 | ctf_integer(int, change_ownership, (new_migratetype == alloc_migratetype)) | |
444 | ) | |
8b831331 MD |
445 | ) |
446 | ||
5f4c791e | 447 | #elif (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(3,12,0)) |
926b9256 | 448 | |
9bbf98da MD |
449 | LTTNG_TRACEPOINT_EVENT_MAP(mm_page_alloc_extfrag, |
450 | ||
451 | kmem_mm_page_alloc_extfrag, | |
926b9256 MD |
452 | |
453 | TP_PROTO(struct page *page, | |
454 | int alloc_order, int fallback_order, | |
455 | int alloc_migratetype, int fallback_migratetype, | |
456 | int change_ownership), | |
457 | ||
458 | TP_ARGS(page, | |
459 | alloc_order, fallback_order, | |
460 | alloc_migratetype, fallback_migratetype, | |
461 | change_ownership), | |
462 | ||
f127e61e MD |
463 | TP_FIELDS( |
464 | ctf_integer_hex(struct page *, page, page) | |
d1cf842b | 465 | ctf_integer(unsigned long, pfn, page_to_pfn(page)) |
f127e61e MD |
466 | ctf_integer(int, alloc_order, alloc_order) |
467 | ctf_integer(int, fallback_order, fallback_order) | |
468 | ctf_integer(int, alloc_migratetype, alloc_migratetype) | |
469 | ctf_integer(int, fallback_migratetype, fallback_migratetype) | |
470 | ctf_integer(int, change_ownership, change_ownership) | |
471 | ) | |
926b9256 MD |
472 | ) |
473 | ||
5f4c791e | 474 | #else /* #if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(3,12,0)) */ |
926b9256 | 475 | |
9bbf98da MD |
476 | LTTNG_TRACEPOINT_EVENT_MAP(mm_page_alloc_extfrag, |
477 | ||
478 | kmem_mm_page_alloc_extfrag, | |
b283666f PW |
479 | |
480 | TP_PROTO(struct page *page, | |
481 | int alloc_order, int fallback_order, | |
482 | int alloc_migratetype, int fallback_migratetype), | |
483 | ||
484 | TP_ARGS(page, | |
485 | alloc_order, fallback_order, | |
486 | alloc_migratetype, fallback_migratetype), | |
487 | ||
f127e61e MD |
488 | TP_FIELDS( |
489 | ctf_integer_hex(struct page *, page, page) | |
d1cf842b | 490 | ctf_integer(unsigned long, pfn, page_to_pfn(page)) |
f127e61e MD |
491 | ctf_integer(int, alloc_order, alloc_order) |
492 | ctf_integer(int, fallback_order, fallback_order) | |
493 | ctf_integer(int, alloc_migratetype, alloc_migratetype) | |
494 | ctf_integer(int, fallback_migratetype, fallback_migratetype) | |
495 | ) | |
b283666f | 496 | ) |
926b9256 | 497 | |
5f4c791e | 498 | #endif /* #else #if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(3,12,0)) */ |
926b9256 | 499 | |
3bc29f0a | 500 | #endif /* LTTNG_TRACE_KMEM_H */ |
b283666f PW |
501 | |
502 | /* This part must be outside protection */ | |
3b4aafcb | 503 | #include <lttng/define_trace.h> |