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