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