hc
2024-01-31 f9004dbfff8a3fbbd7e2a88c8a4327c7f2f8e5b2
kernel/include/trace/events/cma.h
....@@ -8,14 +8,15 @@
88 #include <linux/types.h>
99 #include <linux/tracepoint.h>
1010
11
-TRACE_EVENT(cma_alloc,
11
+DECLARE_EVENT_CLASS(cma_alloc_class,
1212
13
- TP_PROTO(unsigned long pfn, const struct page *page,
13
+ TP_PROTO(const char *name, unsigned long pfn, const struct page *page,
1414 unsigned int count, unsigned int align),
1515
16
- TP_ARGS(pfn, page, count, align),
16
+ TP_ARGS(name, pfn, page, count, align),
1717
1818 TP_STRUCT__entry(
19
+ __string(name, name)
1920 __field(unsigned long, pfn)
2021 __field(const struct page *, page)
2122 __field(unsigned int, count)
....@@ -23,13 +24,15 @@
2324 ),
2425
2526 TP_fast_assign(
27
+ __assign_str(name, name);
2628 __entry->pfn = pfn;
2729 __entry->page = page;
2830 __entry->count = count;
2931 __entry->align = align;
3032 ),
3133
32
- TP_printk("pfn=%lx page=%p count=%u align=%u",
34
+ TP_printk("name=%s pfn=%lx page=%p count=%u align=%u",
35
+ __get_str(name),
3336 __entry->pfn,
3437 __entry->page,
3538 __entry->count,
....@@ -38,29 +41,117 @@
3841
3942 TRACE_EVENT(cma_release,
4043
41
- TP_PROTO(unsigned long pfn, const struct page *page,
44
+ TP_PROTO(const char *name, unsigned long pfn, const struct page *page,
4245 unsigned int count),
4346
44
- TP_ARGS(pfn, page, count),
47
+ TP_ARGS(name, pfn, page, count),
4548
4649 TP_STRUCT__entry(
50
+ __string(name, name)
4751 __field(unsigned long, pfn)
4852 __field(const struct page *, page)
4953 __field(unsigned int, count)
5054 ),
5155
5256 TP_fast_assign(
57
+ __assign_str(name, name);
5358 __entry->pfn = pfn;
5459 __entry->page = page;
5560 __entry->count = count;
5661 ),
5762
58
- TP_printk("pfn=%lx page=%p count=%u",
63
+ TP_printk("name=%s pfn=%lx page=%p count=%u",
64
+ __get_str(name),
5965 __entry->pfn,
6066 __entry->page,
6167 __entry->count)
6268 );
6369
70
+TRACE_EVENT(cma_alloc_start,
71
+
72
+ TP_PROTO(const char *name, unsigned int count, unsigned int align),
73
+
74
+ TP_ARGS(name, count, align),
75
+
76
+ TP_STRUCT__entry(
77
+ __string(name, name)
78
+ __field(unsigned int, count)
79
+ __field(unsigned int, align)
80
+ ),
81
+
82
+ TP_fast_assign(
83
+ __assign_str(name, name);
84
+ __entry->count = count;
85
+ __entry->align = align;
86
+ ),
87
+
88
+ TP_printk("name=%s count=%u align=%u",
89
+ __get_str(name),
90
+ __entry->count,
91
+ __entry->align)
92
+);
93
+
94
+TRACE_EVENT(cma_alloc_info,
95
+
96
+ TP_PROTO(const char *name, const struct page *page, unsigned int count, unsigned int align, struct cma_alloc_info *info),
97
+
98
+ TP_ARGS(name, page, count, align, info),
99
+
100
+ TP_STRUCT__entry(
101
+ __string(name, name)
102
+ __field(unsigned long, pfn)
103
+ __field(unsigned int, count)
104
+ __field(unsigned int, align)
105
+ __field(unsigned long, nr_migrated)
106
+ __field(unsigned long, nr_reclaimed)
107
+ __field(unsigned long, nr_mapped)
108
+ __field(unsigned int, err_iso)
109
+ __field(unsigned int, err_mig)
110
+ __field(unsigned int, err_test)
111
+ ),
112
+
113
+ TP_fast_assign(
114
+ __assign_str(name, name);
115
+ __entry->pfn = page ? page_to_pfn(page) : -1;
116
+ __entry->count = count;
117
+ __entry->align = align;
118
+ __entry->nr_migrated = info->nr_migrated;
119
+ __entry->nr_reclaimed = info->nr_reclaimed;
120
+ __entry->nr_mapped = info->nr_mapped;
121
+ __entry->err_iso = info->nr_isolate_fail;
122
+ __entry->err_mig = info->nr_migrate_fail;
123
+ __entry->err_test = info->nr_test_fail;
124
+ ),
125
+
126
+ TP_printk("name=%s pfn=0x%lx count=%u align=%u nr_migrated=%lu nr_reclaimed=%lu nr_mapped=%lu err_iso=%u err_mig=%u err_test=%u",
127
+ __get_str(name),
128
+ __entry->pfn,
129
+ __entry->count,
130
+ __entry->align,
131
+ __entry->nr_migrated,
132
+ __entry->nr_reclaimed,
133
+ __entry->nr_mapped,
134
+ __entry->err_iso,
135
+ __entry->err_mig,
136
+ __entry->err_test)
137
+);
138
+
139
+DEFINE_EVENT(cma_alloc_class, cma_alloc_finish,
140
+
141
+ TP_PROTO(const char *name, unsigned long pfn, const struct page *page,
142
+ unsigned int count, unsigned int align),
143
+
144
+ TP_ARGS(name, pfn, page, count, align)
145
+);
146
+
147
+DEFINE_EVENT(cma_alloc_class, cma_alloc_busy_retry,
148
+
149
+ TP_PROTO(const char *name, unsigned long pfn, const struct page *page,
150
+ unsigned int count, unsigned int align),
151
+
152
+ TP_ARGS(name, pfn, page, count, align)
153
+);
154
+
64155 #endif /* _TRACE_CMA_H */
65156
66157 /* This part must be outside protection */