1 /* SPDX-License-Identifier: GPL-2.0 */
3 #define TRACE_SYSTEM mmap
5 #if !defined(_TRACE_MMAP_H) || defined(TRACE_HEADER_MULTI_READ)
8 #include <linux/tracepoint.h>
10 TRACE_EVENT(vm_unmapped_area
,
12 TP_PROTO(unsigned long addr
, struct vm_unmapped_area_info
*info
),
17 __field(unsigned long, addr
)
18 __field(unsigned long, total_vm
)
19 __field(unsigned long, flags
)
20 __field(unsigned long, length
)
21 __field(unsigned long, low_limit
)
22 __field(unsigned long, high_limit
)
23 __field(unsigned long, align_mask
)
24 __field(unsigned long, align_offset
)
29 __entry
->total_vm
= current
->mm
->total_vm
;
30 __entry
->flags
= info
->flags
;
31 __entry
->length
= info
->length
;
32 __entry
->low_limit
= info
->low_limit
;
33 __entry
->high_limit
= info
->high_limit
;
34 __entry
->align_mask
= info
->align_mask
;
35 __entry
->align_offset
= info
->align_offset
;
38 TP_printk("addr=0x%lx err=%ld total_vm=0x%lx flags=0x%lx len=0x%lx lo=0x%lx hi=0x%lx mask=0x%lx ofs=0x%lx",
39 IS_ERR_VALUE(__entry
->addr
) ? 0 : __entry
->addr
,
40 IS_ERR_VALUE(__entry
->addr
) ? __entry
->addr
: 0,
41 __entry
->total_vm
, __entry
->flags
, __entry
->length
,
42 __entry
->low_limit
, __entry
->high_limit
, __entry
->align_mask
,
43 __entry
->align_offset
)
46 TRACE_EVENT(vma_mas_szero
,
47 TP_PROTO(struct maple_tree
*mt
, unsigned long start
,
50 TP_ARGS(mt
, start
, end
),
53 __field(struct maple_tree
*, mt
)
54 __field(unsigned long, start
)
55 __field(unsigned long, end
)
60 __entry
->start
= start
;
64 TP_printk("mt_mod %p, (NULL), SNULL, %lu, %lu,",
66 (unsigned long) __entry
->start
,
67 (unsigned long) __entry
->end
71 TRACE_EVENT(vma_store
,
72 TP_PROTO(struct maple_tree
*mt
, struct vm_area_struct
*vma
),
77 __field(struct maple_tree
*, mt
)
78 __field(struct vm_area_struct
*, vma
)
79 __field(unsigned long, vm_start
)
80 __field(unsigned long, vm_end
)
86 __entry
->vm_start
= vma
->vm_start
;
87 __entry
->vm_end
= vma
->vm_end
- 1;
90 TP_printk("mt_mod %p, (%p), STORE, %lu, %lu,",
91 __entry
->mt
, __entry
->vma
,
92 (unsigned long) __entry
->vm_start
,
93 (unsigned long) __entry
->vm_end
98 TRACE_EVENT(exit_mmap
,
99 TP_PROTO(struct mm_struct
*mm
),
104 __field(struct mm_struct
*, mm
)
105 __field(struct maple_tree
*, mt
)
110 __entry
->mt
= &mm
->mm_mt
;
113 TP_printk("mt_mod %p, DESTROY",
120 /* This part must be outside protection */
121 #include <trace/define_trace.h>