1 /* SPDX-License-Identifier: GPL-2.0 */ 1 /* SPDX-License-Identifier: GPL-2.0 */ 2 #undef TRACE_SYSTEM 2 #undef TRACE_SYSTEM 3 #define TRACE_SYSTEM mmap 3 #define TRACE_SYSTEM mmap 4 4 5 #if !defined(_TRACE_MMAP_H) || defined(TRACE_H 5 #if !defined(_TRACE_MMAP_H) || defined(TRACE_HEADER_MULTI_READ) 6 #define _TRACE_MMAP_H 6 #define _TRACE_MMAP_H 7 7 8 #include <linux/tracepoint.h> 8 #include <linux/tracepoint.h> 9 9 10 TRACE_EVENT(vm_unmapped_area, 10 TRACE_EVENT(vm_unmapped_area, 11 11 12 TP_PROTO(unsigned long addr, struct vm 12 TP_PROTO(unsigned long addr, struct vm_unmapped_area_info *info), 13 13 14 TP_ARGS(addr, info), 14 TP_ARGS(addr, info), 15 15 16 TP_STRUCT__entry( 16 TP_STRUCT__entry( 17 __field(unsigned long, addr) 17 __field(unsigned long, addr) 18 __field(unsigned long, total_ 18 __field(unsigned long, total_vm) 19 __field(unsigned long, flags) 19 __field(unsigned long, flags) 20 __field(unsigned long, length 20 __field(unsigned long, length) 21 __field(unsigned long, low_li 21 __field(unsigned long, low_limit) 22 __field(unsigned long, high_l 22 __field(unsigned long, high_limit) 23 __field(unsigned long, align_ 23 __field(unsigned long, align_mask) 24 __field(unsigned long, align_ 24 __field(unsigned long, align_offset) 25 ), 25 ), 26 26 27 TP_fast_assign( 27 TP_fast_assign( 28 __entry->addr = addr; 28 __entry->addr = addr; 29 __entry->total_vm = current->m 29 __entry->total_vm = current->mm->total_vm; 30 __entry->flags = info->flags; 30 __entry->flags = info->flags; 31 __entry->length = info->length 31 __entry->length = info->length; 32 __entry->low_limit = info->low 32 __entry->low_limit = info->low_limit; 33 __entry->high_limit = info->hi 33 __entry->high_limit = info->high_limit; 34 __entry->align_mask = info->al 34 __entry->align_mask = info->align_mask; 35 __entry->align_offset = info-> 35 __entry->align_offset = info->align_offset; 36 ), 36 ), 37 37 38 TP_printk("addr=0x%lx err=%ld total_vm 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) ? 39 IS_ERR_VALUE(__entry->addr) ? 0 : __entry->addr, 40 IS_ERR_VALUE(__entry->addr) ? 40 IS_ERR_VALUE(__entry->addr) ? __entry->addr : 0, 41 __entry->total_vm, __entry->fl 41 __entry->total_vm, __entry->flags, __entry->length, 42 __entry->low_limit, __entry->h 42 __entry->low_limit, __entry->high_limit, __entry->align_mask, 43 __entry->align_offset) 43 __entry->align_offset) 44 ); 44 ); 45 45 46 TRACE_EVENT(vma_mas_szero, 46 TRACE_EVENT(vma_mas_szero, 47 TP_PROTO(struct maple_tree *mt, unsign 47 TP_PROTO(struct maple_tree *mt, unsigned long start, 48 unsigned long end), 48 unsigned long end), 49 49 50 TP_ARGS(mt, start, end), 50 TP_ARGS(mt, start, end), 51 51 52 TP_STRUCT__entry( 52 TP_STRUCT__entry( 53 __field(struct maple_t 53 __field(struct maple_tree *, mt) 54 __field(unsigned long, 54 __field(unsigned long, start) 55 __field(unsigned long, 55 __field(unsigned long, end) 56 ), 56 ), 57 57 58 TP_fast_assign( 58 TP_fast_assign( 59 __entry->mt 59 __entry->mt = mt; 60 __entry->start 60 __entry->start = start; 61 __entry->end 61 __entry->end = end; 62 ), 62 ), 63 63 64 TP_printk("mt_mod %p, (NULL), SNULL, % 64 TP_printk("mt_mod %p, (NULL), SNULL, %lu, %lu,", 65 __entry->mt, 65 __entry->mt, 66 (unsigned long) __entry->sta 66 (unsigned long) __entry->start, 67 (unsigned long) __entry->end 67 (unsigned long) __entry->end 68 ) 68 ) 69 ); 69 ); 70 70 71 TRACE_EVENT(vma_store, 71 TRACE_EVENT(vma_store, 72 TP_PROTO(struct maple_tree *mt, struct 72 TP_PROTO(struct maple_tree *mt, struct vm_area_struct *vma), 73 73 74 TP_ARGS(mt, vma), 74 TP_ARGS(mt, vma), 75 75 76 TP_STRUCT__entry( 76 TP_STRUCT__entry( 77 __field(struct maple_t 77 __field(struct maple_tree *, mt) 78 __field(struct vm_area 78 __field(struct vm_area_struct *, vma) 79 __field(unsigned long, 79 __field(unsigned long, vm_start) 80 __field(unsigned long, 80 __field(unsigned long, vm_end) 81 ), 81 ), 82 82 83 TP_fast_assign( 83 TP_fast_assign( 84 __entry->mt 84 __entry->mt = mt; 85 __entry->vma 85 __entry->vma = vma; 86 __entry->vm_start 86 __entry->vm_start = vma->vm_start; 87 __entry->vm_end 87 __entry->vm_end = vma->vm_end - 1; 88 ), 88 ), 89 89 90 TP_printk("mt_mod %p, (%p), STORE, %lu 90 TP_printk("mt_mod %p, (%p), STORE, %lu, %lu,", 91 __entry->mt, __entry->vma, 91 __entry->mt, __entry->vma, 92 (unsigned long) __entry->vm_ 92 (unsigned long) __entry->vm_start, 93 (unsigned long) __entry->vm_ 93 (unsigned long) __entry->vm_end 94 ) 94 ) 95 ); 95 ); 96 96 97 97 98 TRACE_EVENT(exit_mmap, 98 TRACE_EVENT(exit_mmap, 99 TP_PROTO(struct mm_struct *mm), 99 TP_PROTO(struct mm_struct *mm), 100 100 101 TP_ARGS(mm), 101 TP_ARGS(mm), 102 102 103 TP_STRUCT__entry( 103 TP_STRUCT__entry( 104 __field(struct mm_stru 104 __field(struct mm_struct *, mm) 105 __field(struct maple_t 105 __field(struct maple_tree *, mt) 106 ), 106 ), 107 107 108 TP_fast_assign( 108 TP_fast_assign( 109 __entry->mm 109 __entry->mm = mm; 110 __entry->mt 110 __entry->mt = &mm->mm_mt; 111 ), 111 ), 112 112 113 TP_printk("mt_mod %p, DESTROY", 113 TP_printk("mt_mod %p, DESTROY", 114 __entry->mt 114 __entry->mt 115 ) 115 ) 116 ); 116 ); 117 117 118 #endif 118 #endif 119 119 120 /* This part must be outside protection */ 120 /* This part must be outside protection */ 121 #include <trace/define_trace.h> 121 #include <trace/define_trace.h> 122 122
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.