mmap_lock.h (2072B)
1/* SPDX-License-Identifier: GPL-2.0 */ 2#undef TRACE_SYSTEM 3#define TRACE_SYSTEM mmap_lock 4 5#if !defined(_TRACE_MMAP_LOCK_H) || defined(TRACE_HEADER_MULTI_READ) 6#define _TRACE_MMAP_LOCK_H 7 8#include <linux/tracepoint.h> 9#include <linux/types.h> 10 11struct mm_struct; 12 13extern int trace_mmap_lock_reg(void); 14extern void trace_mmap_lock_unreg(void); 15 16DECLARE_EVENT_CLASS(mmap_lock, 17 18 TP_PROTO(struct mm_struct *mm, const char *memcg_path, bool write), 19 20 TP_ARGS(mm, memcg_path, write), 21 22 TP_STRUCT__entry( 23 __field(struct mm_struct *, mm) 24 __string(memcg_path, memcg_path) 25 __field(bool, write) 26 ), 27 28 TP_fast_assign( 29 __entry->mm = mm; 30 __assign_str(memcg_path, memcg_path); 31 __entry->write = write; 32 ), 33 34 TP_printk( 35 "mm=%p memcg_path=%s write=%s", 36 __entry->mm, 37 __get_str(memcg_path), 38 __entry->write ? "true" : "false" 39 ) 40); 41 42#define DEFINE_MMAP_LOCK_EVENT(name) \ 43 DEFINE_EVENT_FN(mmap_lock, name, \ 44 TP_PROTO(struct mm_struct *mm, const char *memcg_path, \ 45 bool write), \ 46 TP_ARGS(mm, memcg_path, write), \ 47 trace_mmap_lock_reg, trace_mmap_lock_unreg) 48 49DEFINE_MMAP_LOCK_EVENT(mmap_lock_start_locking); 50DEFINE_MMAP_LOCK_EVENT(mmap_lock_released); 51 52TRACE_EVENT_FN(mmap_lock_acquire_returned, 53 54 TP_PROTO(struct mm_struct *mm, const char *memcg_path, bool write, 55 bool success), 56 57 TP_ARGS(mm, memcg_path, write, success), 58 59 TP_STRUCT__entry( 60 __field(struct mm_struct *, mm) 61 __string(memcg_path, memcg_path) 62 __field(bool, write) 63 __field(bool, success) 64 ), 65 66 TP_fast_assign( 67 __entry->mm = mm; 68 __assign_str(memcg_path, memcg_path); 69 __entry->write = write; 70 __entry->success = success; 71 ), 72 73 TP_printk( 74 "mm=%p memcg_path=%s write=%s success=%s", 75 __entry->mm, 76 __get_str(memcg_path), 77 __entry->write ? "true" : "false", 78 __entry->success ? "true" : "false" 79 ), 80 81 trace_mmap_lock_reg, trace_mmap_lock_unreg 82); 83 84#endif /* _TRACE_MMAP_LOCK_H */ 85 86/* This part must be outside protection */ 87#include <trace/define_trace.h>