Warning: This file is not a C or C++ file. It does not have highlighting.
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 | |
11 | struct mm_struct; |
12 | |
13 | extern int trace_mmap_lock_reg(void); |
14 | extern void trace_mmap_lock_unreg(void); |
15 | |
16 | DECLARE_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 | |
49 | DEFINE_MMAP_LOCK_EVENT(mmap_lock_start_locking); |
50 | DEFINE_MMAP_LOCK_EVENT(mmap_lock_released); |
51 | |
52 | TRACE_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> |
88 |
Warning: This file is not a C or C++ file. It does not have highlighting.