xref: /openbmc/linux/include/trace/events/mmap.h (revision df529cabb7a2553bbeb7bab725776f62fdcec972)
1*df529cabSJaewon Kim /* SPDX-License-Identifier: GPL-2.0 */
2*df529cabSJaewon Kim #undef TRACE_SYSTEM
3*df529cabSJaewon Kim #define TRACE_SYSTEM mmap
4*df529cabSJaewon Kim 
5*df529cabSJaewon Kim #if !defined(_TRACE_MMAP_H) || defined(TRACE_HEADER_MULTI_READ)
6*df529cabSJaewon Kim #define _TRACE_MMAP_H
7*df529cabSJaewon Kim 
8*df529cabSJaewon Kim #include <linux/tracepoint.h>
9*df529cabSJaewon Kim 
10*df529cabSJaewon Kim TRACE_EVENT(vm_unmapped_area,
11*df529cabSJaewon Kim 
12*df529cabSJaewon Kim 	TP_PROTO(unsigned long addr, struct vm_unmapped_area_info *info),
13*df529cabSJaewon Kim 
14*df529cabSJaewon Kim 	TP_ARGS(addr, info),
15*df529cabSJaewon Kim 
16*df529cabSJaewon Kim 	TP_STRUCT__entry(
17*df529cabSJaewon Kim 		__field(unsigned long,	addr)
18*df529cabSJaewon Kim 		__field(unsigned long,	total_vm)
19*df529cabSJaewon Kim 		__field(unsigned long,	flags)
20*df529cabSJaewon Kim 		__field(unsigned long,	length)
21*df529cabSJaewon Kim 		__field(unsigned long,	low_limit)
22*df529cabSJaewon Kim 		__field(unsigned long,	high_limit)
23*df529cabSJaewon Kim 		__field(unsigned long,	align_mask)
24*df529cabSJaewon Kim 		__field(unsigned long,	align_offset)
25*df529cabSJaewon Kim 	),
26*df529cabSJaewon Kim 
27*df529cabSJaewon Kim 	TP_fast_assign(
28*df529cabSJaewon Kim 		__entry->addr = addr;
29*df529cabSJaewon Kim 		__entry->total_vm = current->mm->total_vm;
30*df529cabSJaewon Kim 		__entry->flags = info->flags;
31*df529cabSJaewon Kim 		__entry->length = info->length;
32*df529cabSJaewon Kim 		__entry->low_limit = info->low_limit;
33*df529cabSJaewon Kim 		__entry->high_limit = info->high_limit;
34*df529cabSJaewon Kim 		__entry->align_mask = info->align_mask;
35*df529cabSJaewon Kim 		__entry->align_offset = info->align_offset;
36*df529cabSJaewon Kim 	),
37*df529cabSJaewon Kim 
38*df529cabSJaewon Kim 	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\n",
39*df529cabSJaewon Kim 		IS_ERR_VALUE(__entry->addr) ? 0 : __entry->addr,
40*df529cabSJaewon Kim 		IS_ERR_VALUE(__entry->addr) ? __entry->addr : 0,
41*df529cabSJaewon Kim 		__entry->total_vm, __entry->flags, __entry->length,
42*df529cabSJaewon Kim 		__entry->low_limit, __entry->high_limit, __entry->align_mask,
43*df529cabSJaewon Kim 		__entry->align_offset)
44*df529cabSJaewon Kim );
45*df529cabSJaewon Kim #endif
46*df529cabSJaewon Kim 
47*df529cabSJaewon Kim /* This part must be outside protection */
48*df529cabSJaewon Kim #include <trace/define_trace.h>
49