1 /* SPDX-License-Identifier: GPL-2.0-only */
3 #define TRACE_SYSTEM mm_vmscan
5 #if !defined(LTTNG_TRACE_MM_VMSCAN_H) || defined(TRACE_HEADER_MULTI_READ)
6 #define LTTNG_TRACE_MM_VMSCAN_H
8 #include <lttng/tracepoint-event.h>
9 #include <linux/types.h>
11 #include <linux/memcontrol.h>
12 #include <lttng/kernel-version.h>
14 #ifndef _TRACE_VMSCAN_DEF
15 #define _TRACE_VMSCAN_DEF
16 #define RECLAIM_WB_ANON 0x0001u
17 #define RECLAIM_WB_FILE 0x0002u
18 #define RECLAIM_WB_MIXED 0x0010u
19 #define RECLAIM_WB_SYNC 0x0004u /* Unused, all reclaim async */
20 #define RECLAIM_WB_ASYNC 0x0008u
23 #if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(5,2,0) || \
24 LTTNG_RHEL_KERNEL_RANGE(4,18,0,305,0,0, 4,19,0,0,0,0))
26 #include <linux/mm_inline.h>
28 #define trace_reclaim_flags(file) ( \
29 (file ? RECLAIM_WB_FILE : RECLAIM_WB_ANON) | \
33 #elif (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(4,5,0))
35 #include <linux/mm_inline.h>
37 #define trace_reclaim_flags(page) ( \
38 (page_is_file_cache(page) ? RECLAIM_WB_FILE : RECLAIM_WB_ANON) | \
42 #define trace_shrink_flags(file) \
44 (file ? RECLAIM_WB_FILE : RECLAIM_WB_ANON) | \
50 LTTNG_TRACEPOINT_EVENT(mm_vmscan_kswapd_sleep
,
57 ctf_integer(int, nid
, nid
)
61 #if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(4,8,0))
63 LTTNG_TRACEPOINT_EVENT(mm_vmscan_kswapd_wake
,
65 TP_PROTO(int nid
, int zid
, int order
),
67 TP_ARGS(nid
, zid
, order
),
70 ctf_integer(int, nid
, nid
)
71 ctf_integer(int, zid
, zid
)
72 ctf_integer(int, order
, order
)
78 LTTNG_TRACEPOINT_EVENT(mm_vmscan_kswapd_wake
,
80 TP_PROTO(int nid
, int order
),
85 ctf_integer(int, nid
, nid
)
86 ctf_integer(int, order
, order
)
92 #if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(4,17,0))
93 LTTNG_TRACEPOINT_EVENT(mm_vmscan_wakeup_kswapd
,
95 TP_PROTO(int nid
, int zid
, int order
, gfp_t gfp_flags
),
97 TP_ARGS(nid
, zid
, order
, gfp_flags
),
100 ctf_integer(int, nid
, nid
)
101 ctf_integer(int, zid
, zid
)
102 ctf_integer(int, order
, order
)
103 ctf_integer(gfp_t
, gfp_flags
, gfp_flags
)
107 LTTNG_TRACEPOINT_EVENT(mm_vmscan_wakeup_kswapd
,
109 TP_PROTO(int nid
, int zid
, int order
),
111 TP_ARGS(nid
, zid
, order
),
114 ctf_integer(int, nid
, nid
)
115 ctf_integer(int, zid
, zid
)
116 ctf_integer(int, order
, order
)
121 #if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(5,2,0) || \
122 LTTNG_RHEL_KERNEL_RANGE(4,18,0,305,0,0, 4,19,0,0,0,0))
124 LTTNG_TRACEPOINT_EVENT_CLASS(mm_vmscan_direct_reclaim_begin_template
,
126 TP_PROTO(int order
, gfp_t gfp_flags
),
128 TP_ARGS(order
, gfp_flags
),
131 ctf_integer(int, order
, order
)
132 ctf_integer(gfp_t
, gfp_flags
, gfp_flags
)
136 LTTNG_TRACEPOINT_EVENT_INSTANCE(mm_vmscan_direct_reclaim_begin_template
, mm_vmscan_direct_reclaim_begin
,
138 TP_PROTO(int order
, gfp_t gfp_flags
),
140 TP_ARGS(order
, gfp_flags
)
143 LTTNG_TRACEPOINT_EVENT_INSTANCE(mm_vmscan_direct_reclaim_begin_template
, mm_vmscan_memcg_reclaim_begin
,
145 TP_PROTO(int order
, gfp_t gfp_flags
),
147 TP_ARGS(order
, gfp_flags
)
150 LTTNG_TRACEPOINT_EVENT_INSTANCE(mm_vmscan_direct_reclaim_begin_template
, mm_vmscan_memcg_softlimit_reclaim_begin
,
152 TP_PROTO(int order
, gfp_t gfp_flags
),
154 TP_ARGS(order
, gfp_flags
)
157 #elif (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(4,8,0))
159 LTTNG_TRACEPOINT_EVENT_CLASS(mm_vmscan_direct_reclaim_begin_template
,
161 TP_PROTO(int order
, int may_writepage
, gfp_t gfp_flags
, int classzone_idx
),
163 TP_ARGS(order
, may_writepage
, gfp_flags
, classzone_idx
),
166 ctf_integer(int, order
, order
)
167 ctf_integer(int, may_writepage
, may_writepage
)
168 ctf_integer(gfp_t
, gfp_flags
, gfp_flags
)
169 ctf_integer(int, classzone_idx
, classzone_idx
)
173 LTTNG_TRACEPOINT_EVENT_INSTANCE(mm_vmscan_direct_reclaim_begin_template
, mm_vmscan_direct_reclaim_begin
,
175 TP_PROTO(int order
, int may_writepage
, gfp_t gfp_flags
, int classzone_idx
),
177 TP_ARGS(order
, may_writepage
, gfp_flags
, classzone_idx
)
180 LTTNG_TRACEPOINT_EVENT_INSTANCE(mm_vmscan_direct_reclaim_begin_template
, mm_vmscan_memcg_reclaim_begin
,
182 TP_PROTO(int order
, int may_writepage
, gfp_t gfp_flags
, int classzone_idx
),
184 TP_ARGS(order
, may_writepage
, gfp_flags
, classzone_idx
)
187 LTTNG_TRACEPOINT_EVENT_INSTANCE(mm_vmscan_direct_reclaim_begin_template
, mm_vmscan_memcg_softlimit_reclaim_begin
,
189 TP_PROTO(int order
, int may_writepage
, gfp_t gfp_flags
, int classzone_idx
),
191 TP_ARGS(order
, may_writepage
, gfp_flags
, classzone_idx
)
196 LTTNG_TRACEPOINT_EVENT_CLASS(mm_vmscan_direct_reclaim_begin_template
,
198 TP_PROTO(int order
, int may_writepage
, gfp_t gfp_flags
),
200 TP_ARGS(order
, may_writepage
, gfp_flags
),
203 ctf_integer(int, order
, order
)
204 ctf_integer(int, may_writepage
, may_writepage
)
205 ctf_integer(gfp_t
, gfp_flags
, gfp_flags
)
209 LTTNG_TRACEPOINT_EVENT_INSTANCE(mm_vmscan_direct_reclaim_begin_template
, mm_vmscan_direct_reclaim_begin
,
211 TP_PROTO(int order
, int may_writepage
, gfp_t gfp_flags
),
213 TP_ARGS(order
, may_writepage
, gfp_flags
)
216 LTTNG_TRACEPOINT_EVENT_INSTANCE(mm_vmscan_direct_reclaim_begin_template
, mm_vmscan_memcg_reclaim_begin
,
218 TP_PROTO(int order
, int may_writepage
, gfp_t gfp_flags
),
220 TP_ARGS(order
, may_writepage
, gfp_flags
)
223 LTTNG_TRACEPOINT_EVENT_INSTANCE(mm_vmscan_direct_reclaim_begin_template
, mm_vmscan_memcg_softlimit_reclaim_begin
,
225 TP_PROTO(int order
, int may_writepage
, gfp_t gfp_flags
),
227 TP_ARGS(order
, may_writepage
, gfp_flags
)
232 LTTNG_TRACEPOINT_EVENT_CLASS(mm_vmscan_direct_reclaim_end_template
,
234 TP_PROTO(unsigned long nr_reclaimed
),
236 TP_ARGS(nr_reclaimed
),
239 ctf_integer(unsigned long, nr_reclaimed
, nr_reclaimed
)
243 LTTNG_TRACEPOINT_EVENT_INSTANCE(mm_vmscan_direct_reclaim_end_template
, mm_vmscan_direct_reclaim_end
,
245 TP_PROTO(unsigned long nr_reclaimed
),
247 TP_ARGS(nr_reclaimed
)
250 LTTNG_TRACEPOINT_EVENT_INSTANCE(mm_vmscan_direct_reclaim_end_template
, mm_vmscan_memcg_reclaim_end
,
252 TP_PROTO(unsigned long nr_reclaimed
),
254 TP_ARGS(nr_reclaimed
)
257 LTTNG_TRACEPOINT_EVENT_INSTANCE(mm_vmscan_direct_reclaim_end_template
, mm_vmscan_memcg_softlimit_reclaim_end
,
259 TP_PROTO(unsigned long nr_reclaimed
),
261 TP_ARGS(nr_reclaimed
)
264 #if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(4,16,0))
265 LTTNG_TRACEPOINT_EVENT_MAP(mm_shrink_slab_start
,
267 mm_vmscan_shrink_slab_start
,
269 TP_PROTO(struct shrinker
*shr
, struct shrink_control
*sc
,
270 long nr_objects_to_shrink
, unsigned long cache_items
,
271 unsigned long long delta
, unsigned long total_scan
,
274 TP_ARGS(shr
, sc
, nr_objects_to_shrink
, cache_items
, delta
, total_scan
,
278 ctf_integer_hex(struct shrinker
*, shr
, shr
)
279 ctf_integer_hex(void *, shrink
, shr
->scan_objects
)
280 ctf_integer(int, nid
, sc
->nid
)
281 ctf_integer(long, nr_objects_to_shrink
, nr_objects_to_shrink
)
282 ctf_integer(gfp_t
, gfp_flags
, sc
->gfp_mask
)
283 ctf_integer(unsigned long, cache_items
, cache_items
)
284 ctf_integer(unsigned long long, delta
, delta
)
285 ctf_integer(unsigned long, total_scan
, total_scan
)
286 ctf_integer(int, priority
, priority
)
290 LTTNG_TRACEPOINT_EVENT_MAP(mm_shrink_slab_start
,
292 mm_vmscan_shrink_slab_start
,
294 TP_PROTO(struct shrinker
*shr
, struct shrink_control
*sc
,
295 long nr_objects_to_shrink
, unsigned long pgs_scanned
,
296 unsigned long lru_pgs
, unsigned long cache_items
,
297 unsigned long long delta
, unsigned long total_scan
),
299 TP_ARGS(shr
, sc
, nr_objects_to_shrink
, pgs_scanned
, lru_pgs
,
300 cache_items
, delta
, total_scan
),
303 ctf_integer_hex(struct shrinker
*, shr
, shr
)
304 ctf_integer_hex(void *, shrink
, shr
->scan_objects
)
305 ctf_integer(long, nr_objects_to_shrink
, nr_objects_to_shrink
)
306 ctf_integer(gfp_t
, gfp_flags
, sc
->gfp_mask
)
307 ctf_integer(unsigned long, pgs_scanned
, pgs_scanned
)
308 ctf_integer(unsigned long, lru_pgs
, lru_pgs
)
309 ctf_integer(unsigned long, cache_items
, cache_items
)
310 ctf_integer(unsigned long long, delta
, delta
)
311 ctf_integer(unsigned long, total_scan
, total_scan
)
316 LTTNG_TRACEPOINT_EVENT_MAP(mm_shrink_slab_end
,
318 mm_vmscan_shrink_slab_end
,
320 TP_PROTO(struct shrinker
*shr
, int nid
, int shrinker_retval
,
321 long unused_scan_cnt
, long new_scan_cnt
, long total_scan
),
323 TP_ARGS(shr
, nid
, shrinker_retval
, unused_scan_cnt
, new_scan_cnt
,
327 ctf_integer_hex(struct shrinker
*, shr
, shr
)
328 ctf_integer(int, nid
, nid
)
329 ctf_integer_hex(void *, shrink
, shr
->scan_objects
)
330 ctf_integer(long, unused_scan
, unused_scan_cnt
)
331 ctf_integer(long, new_scan
, new_scan_cnt
)
332 ctf_integer(int, retval
, shrinker_retval
)
333 ctf_integer(long, total_scan
, total_scan
)
337 #if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(6,7,0) || \
338 LTTNG_RHEL_KERNEL_RANGE(5,14,0,427,16,1, 5,15,0,0,0,0))
339 LTTNG_TRACEPOINT_EVENT(mm_vmscan_lru_isolate
,
341 TP_PROTO(int classzone_idx
,
343 unsigned long nr_requested
,
344 unsigned long nr_scanned
,
345 unsigned long nr_skipped
,
346 unsigned long nr_taken
,
350 TP_ARGS(classzone_idx
, order
, nr_requested
, nr_scanned
, nr_skipped
,
355 ctf_integer(int, classzone_idx
, classzone_idx
)
356 ctf_integer(int, order
, order
)
357 ctf_integer(unsigned long, nr_requested
, nr_requested
)
358 ctf_integer(unsigned long, nr_scanned
, nr_scanned
)
359 ctf_integer(unsigned long, nr_skipped
, nr_skipped
)
360 ctf_integer(unsigned long, nr_taken
, nr_taken
)
361 ctf_integer(int, lru
, lru
)
364 #elif (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(4,11,0))
365 LTTNG_TRACEPOINT_EVENT(mm_vmscan_lru_isolate
,
367 TP_PROTO(int classzone_idx
,
369 unsigned long nr_requested
,
370 unsigned long nr_scanned
,
371 unsigned long nr_skipped
,
372 unsigned long nr_taken
,
373 isolate_mode_t isolate_mode
,
377 TP_ARGS(classzone_idx
, order
, nr_requested
, nr_scanned
, nr_skipped
,
378 nr_taken
, isolate_mode
, lru
382 ctf_integer(int, classzone_idx
, classzone_idx
)
383 ctf_integer(int, order
, order
)
384 ctf_integer(unsigned long, nr_requested
, nr_requested
)
385 ctf_integer(unsigned long, nr_scanned
, nr_scanned
)
386 ctf_integer(unsigned long, nr_skipped
, nr_skipped
)
387 ctf_integer(unsigned long, nr_taken
, nr_taken
)
388 ctf_integer(isolate_mode_t
, isolate_mode
, isolate_mode
)
389 ctf_integer(int, lru
, lru
)
392 #elif (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(4,8,0))
393 LTTNG_TRACEPOINT_EVENT_CLASS(mm_vmscan_lru_isolate_template
,
395 TP_PROTO(int classzone_idx
,
397 unsigned long nr_requested
,
398 unsigned long nr_scanned
,
399 unsigned long nr_taken
,
400 isolate_mode_t isolate_mode
,
404 TP_ARGS(classzone_idx
, order
, nr_requested
, nr_scanned
, nr_taken
,
410 ctf_integer(int, classzone_idx
, classzone_idx
)
411 ctf_integer(int, order
, order
)
412 ctf_integer(unsigned long, nr_requested
, nr_requested
)
413 ctf_integer(unsigned long, nr_scanned
, nr_scanned
)
414 ctf_integer(unsigned long, nr_taken
, nr_taken
)
415 ctf_integer(isolate_mode_t
, isolate_mode
, isolate_mode
)
416 ctf_integer(int, file
, file
)
420 LTTNG_TRACEPOINT_EVENT_INSTANCE(mm_vmscan_lru_isolate_template
, mm_vmscan_lru_isolate
,
422 TP_PROTO(int classzone_idx
,
424 unsigned long nr_requested
,
425 unsigned long nr_scanned
,
426 unsigned long nr_taken
,
427 isolate_mode_t isolate_mode
,
431 TP_ARGS(classzone_idx
, order
, nr_requested
, nr_scanned
, nr_taken
,
437 LTTNG_TRACEPOINT_EVENT_INSTANCE(mm_vmscan_lru_isolate_template
, mm_vmscan_memcg_isolate
,
439 TP_PROTO(int classzone_idx
,
441 unsigned long nr_requested
,
442 unsigned long nr_scanned
,
443 unsigned long nr_taken
,
444 isolate_mode_t isolate_mode
,
448 TP_ARGS(classzone_idx
, order
, nr_requested
, nr_scanned
, nr_taken
,
453 LTTNG_TRACEPOINT_EVENT_CLASS(mm_vmscan_lru_isolate_template
,
456 unsigned long nr_requested
,
457 unsigned long nr_scanned
,
458 unsigned long nr_taken
,
459 isolate_mode_t isolate_mode
,
463 TP_ARGS(order
, nr_requested
, nr_scanned
, nr_taken
,
469 ctf_integer(int, order
, order
)
470 ctf_integer(unsigned long, nr_requested
, nr_requested
)
471 ctf_integer(unsigned long, nr_scanned
, nr_scanned
)
472 ctf_integer(unsigned long, nr_taken
, nr_taken
)
473 ctf_integer(isolate_mode_t
, isolate_mode
, isolate_mode
)
474 ctf_integer(int, file
, file
)
478 LTTNG_TRACEPOINT_EVENT_INSTANCE(mm_vmscan_lru_isolate_template
, mm_vmscan_lru_isolate
,
481 unsigned long nr_requested
,
482 unsigned long nr_scanned
,
483 unsigned long nr_taken
,
484 isolate_mode_t isolate_mode
,
488 TP_ARGS(order
, nr_requested
, nr_scanned
, nr_taken
,
494 LTTNG_TRACEPOINT_EVENT_INSTANCE(mm_vmscan_lru_isolate_template
, mm_vmscan_memcg_isolate
,
497 unsigned long nr_requested
,
498 unsigned long nr_scanned
,
499 unsigned long nr_taken
,
500 isolate_mode_t isolate_mode
,
504 TP_ARGS(order
, nr_requested
, nr_scanned
, nr_taken
,
510 #if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(5,7,0))
511 LTTNG_TRACEPOINT_EVENT(mm_vmscan_writepage
,
513 TP_PROTO(struct page
*page
),
518 ctf_integer_hex(struct page
*, page
, page
)
519 ctf_integer(int, reclaim_flags
, trace_reclaim_flags(
520 page_is_file_lru(page
)))
523 #elif (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(5,2,0))
524 LTTNG_TRACEPOINT_EVENT(mm_vmscan_writepage
,
526 TP_PROTO(struct page
*page
),
531 ctf_integer_hex(struct page
*, page
, page
)
532 ctf_integer(int, reclaim_flags
, trace_reclaim_flags(
533 page_is_file_cache(page
)))
536 #elif (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(4,5,0))
537 LTTNG_TRACEPOINT_EVENT(mm_vmscan_writepage
,
539 TP_PROTO(struct page
*page
),
544 ctf_integer_hex(struct page
*, page
, page
)
545 ctf_integer(int, reclaim_flags
, trace_reclaim_flags(page
))
549 LTTNG_TRACEPOINT_EVENT(mm_vmscan_writepage
,
551 TP_PROTO(struct page
*page
,
554 TP_ARGS(page
, reclaim_flags
),
557 ctf_integer_hex(struct page
*, page
, page
)
558 ctf_integer(int, reclaim_flags
, reclaim_flags
)
563 #if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(5,2,0) || \
564 LTTNG_RHEL_KERNEL_RANGE(4,18,0,305,0,0, 4,19,0,0,0,0))
565 LTTNG_TRACEPOINT_EVENT(mm_vmscan_lru_shrink_inactive
,
568 unsigned long nr_scanned
, unsigned long nr_reclaimed
,
569 struct reclaim_stat
*stat
, int priority
, int file
),
571 TP_ARGS(nid
, nr_scanned
, nr_reclaimed
, stat
, priority
, file
),
574 ctf_integer(int, nid
, nid
)
575 ctf_integer(unsigned long, nr_scanned
, nr_scanned
)
576 ctf_integer(unsigned long, nr_reclaimed
, nr_reclaimed
)
577 ctf_integer(unsigned long, nr_dirty
, stat
->nr_dirty
)
578 ctf_integer(unsigned long, nr_writeback
, stat
->nr_writeback
)
579 ctf_integer(unsigned long, nr_congested
, stat
->nr_congested
)
580 ctf_integer(unsigned long, nr_immediate
, stat
->nr_immediate
)
581 ctf_integer(unsigned long, nr_activate_anon
, stat
->nr_activate
[0])
582 ctf_integer(unsigned long, nr_activate_file
, stat
->nr_activate
[1])
583 ctf_integer(unsigned long, nr_ref_keep
, stat
->nr_ref_keep
)
584 ctf_integer(unsigned long, nr_unmap_fail
, stat
->nr_unmap_fail
)
585 ctf_integer(int, priority
, priority
)
586 ctf_integer(int, reclaim_flags
, trace_reclaim_flags(file
))
589 #elif (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(4,17,0))
590 LTTNG_TRACEPOINT_EVENT(mm_vmscan_lru_shrink_inactive
,
593 unsigned long nr_scanned
, unsigned long nr_reclaimed
,
594 struct reclaim_stat
*stat
, int priority
, int file
),
596 TP_ARGS(nid
, nr_scanned
, nr_reclaimed
, stat
, priority
, file
),
599 ctf_integer(int, nid
, nid
)
600 ctf_integer(unsigned long, nr_scanned
, nr_scanned
)
601 ctf_integer(unsigned long, nr_reclaimed
, nr_reclaimed
)
602 ctf_integer(unsigned long, nr_dirty
, stat
->nr_dirty
)
603 ctf_integer(unsigned long, nr_writeback
, stat
->nr_writeback
)
604 ctf_integer(unsigned long, nr_congested
, stat
->nr_congested
)
605 ctf_integer(unsigned long, nr_immediate
, stat
->nr_immediate
)
606 ctf_integer(unsigned long, nr_activate
, stat
->nr_activate
)
607 ctf_integer(unsigned long, nr_ref_keep
, stat
->nr_ref_keep
)
608 ctf_integer(unsigned long, nr_unmap_fail
, stat
->nr_unmap_fail
)
609 ctf_integer(int, priority
, priority
)
610 ctf_integer(int, reclaim_flags
, trace_shrink_flags(file
))
613 #elif (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(4,11,0))
614 LTTNG_TRACEPOINT_EVENT(mm_vmscan_lru_shrink_inactive
,
617 unsigned long nr_scanned
, unsigned long nr_reclaimed
,
618 unsigned long nr_dirty
, unsigned long nr_writeback
,
619 unsigned long nr_congested
, unsigned long nr_immediate
,
620 unsigned long nr_activate
, unsigned long nr_ref_keep
,
621 unsigned long nr_unmap_fail
,
622 int priority
, int file
),
624 TP_ARGS(nid
, nr_scanned
, nr_reclaimed
, nr_dirty
, nr_writeback
,
625 nr_congested
, nr_immediate
, nr_activate
, nr_ref_keep
,
626 nr_unmap_fail
, priority
, file
),
629 ctf_integer(int, nid
, nid
)
630 ctf_integer(unsigned long, nr_scanned
, nr_scanned
)
631 ctf_integer(unsigned long, nr_reclaimed
, nr_reclaimed
)
632 ctf_integer(unsigned long, nr_dirty
, nr_dirty
)
633 ctf_integer(unsigned long, nr_writeback
, nr_writeback
)
634 ctf_integer(unsigned long, nr_congested
, nr_congested
)
635 ctf_integer(unsigned long, nr_immediate
, nr_immediate
)
636 ctf_integer(unsigned long, nr_activate
, nr_activate
)
637 ctf_integer(unsigned long, nr_ref_keep
, nr_ref_keep
)
638 ctf_integer(unsigned long, nr_unmap_fail
, nr_unmap_fail
)
639 ctf_integer(int, priority
, priority
)
640 ctf_integer(int, reclaim_flags
, trace_shrink_flags(file
))
643 #elif (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(4,8,0))
644 LTTNG_TRACEPOINT_EVENT(mm_vmscan_lru_shrink_inactive
,
647 unsigned long nr_scanned
, unsigned long nr_reclaimed
,
648 int priority
, int file
),
650 TP_ARGS(nid
, nr_scanned
, nr_reclaimed
, priority
, file
),
653 ctf_integer(int, nid
, nid
)
654 ctf_integer(unsigned long, nr_scanned
, nr_scanned
)
655 ctf_integer(unsigned long, nr_reclaimed
, nr_reclaimed
)
656 ctf_integer(int, priority
, priority
)
657 ctf_integer(int, reclaim_flags
, trace_shrink_flags(file
))
660 #elif (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(4,5,0))
661 LTTNG_TRACEPOINT_EVENT(mm_vmscan_lru_shrink_inactive
,
663 TP_PROTO(struct zone
*zone
,
664 unsigned long nr_scanned
, unsigned long nr_reclaimed
,
665 int priority
, int file
),
667 TP_ARGS(zone
, nr_scanned
, nr_reclaimed
, priority
, file
),
670 ctf_integer(int, nid
, zone_to_nid(zone
))
671 ctf_integer(int, zid
, zone_idx(zone
))
672 ctf_integer(unsigned long, nr_scanned
, nr_scanned
)
673 ctf_integer(unsigned long, nr_reclaimed
, nr_reclaimed
)
674 ctf_integer(int, priority
, priority
)
675 ctf_integer(int, reclaim_flags
, trace_shrink_flags(file
))
679 LTTNG_TRACEPOINT_EVENT(mm_vmscan_lru_shrink_inactive
,
681 TP_PROTO(int nid
, int zid
,
682 unsigned long nr_scanned
, unsigned long nr_reclaimed
,
683 int priority
, int reclaim_flags
),
685 TP_ARGS(nid
, zid
, nr_scanned
, nr_reclaimed
, priority
, reclaim_flags
),
688 ctf_integer(int, nid
, nid
)
689 ctf_integer(int, zid
, zid
)
690 ctf_integer(unsigned long, nr_scanned
, nr_scanned
)
691 ctf_integer(unsigned long, nr_reclaimed
, nr_reclaimed
)
692 ctf_integer(int, priority
, priority
)
693 ctf_integer(int, reclaim_flags
, reclaim_flags
)
698 #endif /* LTTNG_TRACE_MM_VMSCAN_H */
700 /* This part must be outside protection */
701 #include <lttng/define_trace.h>