aboutsummaryrefslogtreecommitdiffstats
path: root/include/trace
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2015-04-18 11:26:46 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2015-04-18 11:26:46 -0400
commit96b90f27bcf22f1d06cc16d9475cefa6ea4c4718 (patch)
treea886ad5f611dea36c6d4b615dfdcdbbcf5bd3135 /include/trace
parent396c9df2231865ef55aa031e3f5df9d99e036869 (diff)
parent0c99241c93b8060441f3c8434848e54b5338f922 (diff)
Merge branch 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
Pull perf updates from Ingo Molnar: "This update has mostly fixes, but also other bits: - perf tooling fixes - PMU driver fixes - Intel Broadwell PMU driver HW-enablement for LBR callstacks - a late coming 'perf kmem' tool update that enables it to also analyze page allocation data. Note, this comes with MM tracepoint changes that we believe to not break anything: because it changes the formerly opaque 'struct page *' field that uniquely identifies pages to 'pfn' which identifies pages uniquely too, but isn't as opaque and can be used for other purposes as well" * 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: perf/x86/intel/pt: Fix and clean up error handling in pt_event_add() perf/x86/intel: Add Broadwell support for the LBR callstack perf/x86/intel/rapl: Fix energy counter measurements but supporing per domain energy units perf/x86/intel: Fix Core2,Atom,NHM,WSM cycles:pp events perf/x86: Fix hw_perf_event::flags collision perf probe: Fix segfault when probe with lazy_line to file perf probe: Find compilation directory path for lazy matching perf probe: Set retprobe flag when probe in address-based alternative mode perf kmem: Analyze page allocator events also tracing, mm: Record pfn instead of pointer to struct page
Diffstat (limited to 'include/trace')
-rw-r--r--include/trace/events/filemap.h8
-rw-r--r--include/trace/events/kmem.h42
-rw-r--r--include/trace/events/vmscan.h8
3 files changed, 29 insertions, 29 deletions
diff --git a/include/trace/events/filemap.h b/include/trace/events/filemap.h
index 0421f49a20f7..42febb6bc1d5 100644
--- a/include/trace/events/filemap.h
+++ b/include/trace/events/filemap.h
@@ -18,14 +18,14 @@ DECLARE_EVENT_CLASS(mm_filemap_op_page_cache,
18 TP_ARGS(page), 18 TP_ARGS(page),
19 19
20 TP_STRUCT__entry( 20 TP_STRUCT__entry(
21 __field(struct page *, page) 21 __field(unsigned long, pfn)
22 __field(unsigned long, i_ino) 22 __field(unsigned long, i_ino)
23 __field(unsigned long, index) 23 __field(unsigned long, index)
24 __field(dev_t, s_dev) 24 __field(dev_t, s_dev)
25 ), 25 ),
26 26
27 TP_fast_assign( 27 TP_fast_assign(
28 __entry->page = page; 28 __entry->pfn = page_to_pfn(page);
29 __entry->i_ino = page->mapping->host->i_ino; 29 __entry->i_ino = page->mapping->host->i_ino;
30 __entry->index = page->index; 30 __entry->index = page->index;
31 if (page->mapping->host->i_sb) 31 if (page->mapping->host->i_sb)
@@ -37,8 +37,8 @@ DECLARE_EVENT_CLASS(mm_filemap_op_page_cache,
37 TP_printk("dev %d:%d ino %lx page=%p pfn=%lu ofs=%lu", 37 TP_printk("dev %d:%d ino %lx page=%p pfn=%lu ofs=%lu",
38 MAJOR(__entry->s_dev), MINOR(__entry->s_dev), 38 MAJOR(__entry->s_dev), MINOR(__entry->s_dev),
39 __entry->i_ino, 39 __entry->i_ino,
40 __entry->page, 40 pfn_to_page(__entry->pfn),
41 page_to_pfn(__entry->page), 41 __entry->pfn,
42 __entry->index << PAGE_SHIFT) 42 __entry->index << PAGE_SHIFT)
43); 43);
44 44
diff --git a/include/trace/events/kmem.h b/include/trace/events/kmem.h
index 4ad10baecd4d..81ea59812117 100644
--- a/include/trace/events/kmem.h
+++ b/include/trace/events/kmem.h
@@ -154,18 +154,18 @@ TRACE_EVENT(mm_page_free,
154 TP_ARGS(page, order), 154 TP_ARGS(page, order),
155 155
156 TP_STRUCT__entry( 156 TP_STRUCT__entry(
157 __field( struct page *, page ) 157 __field( unsigned long, pfn )
158 __field( unsigned int, order ) 158 __field( unsigned int, order )
159 ), 159 ),
160 160
161 TP_fast_assign( 161 TP_fast_assign(
162 __entry->page = page; 162 __entry->pfn = page_to_pfn(page);
163 __entry->order = order; 163 __entry->order = order;
164 ), 164 ),
165 165
166 TP_printk("page=%p pfn=%lu order=%d", 166 TP_printk("page=%p pfn=%lu order=%d",
167 __entry->page, 167 pfn_to_page(__entry->pfn),
168 page_to_pfn(__entry->page), 168 __entry->pfn,
169 __entry->order) 169 __entry->order)
170); 170);
171 171
@@ -176,18 +176,18 @@ TRACE_EVENT(mm_page_free_batched,
176 TP_ARGS(page, cold), 176 TP_ARGS(page, cold),
177 177
178 TP_STRUCT__entry( 178 TP_STRUCT__entry(
179 __field( struct page *, page ) 179 __field( unsigned long, pfn )
180 __field( int, cold ) 180 __field( int, cold )
181 ), 181 ),
182 182
183 TP_fast_assign( 183 TP_fast_assign(
184 __entry->page = page; 184 __entry->pfn = page_to_pfn(page);
185 __entry->cold = cold; 185 __entry->cold = cold;
186 ), 186 ),
187 187
188 TP_printk("page=%p pfn=%lu order=0 cold=%d", 188 TP_printk("page=%p pfn=%lu order=0 cold=%d",
189 __entry->page, 189 pfn_to_page(__entry->pfn),
190 page_to_pfn(__entry->page), 190 __entry->pfn,
191 __entry->cold) 191 __entry->cold)
192); 192);
193 193
@@ -199,22 +199,22 @@ TRACE_EVENT(mm_page_alloc,
199 TP_ARGS(page, order, gfp_flags, migratetype), 199 TP_ARGS(page, order, gfp_flags, migratetype),
200 200
201 TP_STRUCT__entry( 201 TP_STRUCT__entry(
202 __field( struct page *, page ) 202 __field( unsigned long, pfn )
203 __field( unsigned int, order ) 203 __field( unsigned int, order )
204 __field( gfp_t, gfp_flags ) 204 __field( gfp_t, gfp_flags )
205 __field( int, migratetype ) 205 __field( int, migratetype )
206 ), 206 ),
207 207
208 TP_fast_assign( 208 TP_fast_assign(
209 __entry->page = page; 209 __entry->pfn = page ? page_to_pfn(page) : -1UL;
210 __entry->order = order; 210 __entry->order = order;
211 __entry->gfp_flags = gfp_flags; 211 __entry->gfp_flags = gfp_flags;
212 __entry->migratetype = migratetype; 212 __entry->migratetype = migratetype;
213 ), 213 ),
214 214
215 TP_printk("page=%p pfn=%lu order=%d migratetype=%d gfp_flags=%s", 215 TP_printk("page=%p pfn=%lu order=%d migratetype=%d gfp_flags=%s",
216 __entry->page, 216 __entry->pfn != -1UL ? pfn_to_page(__entry->pfn) : NULL,
217 __entry->page ? page_to_pfn(__entry->page) : 0, 217 __entry->pfn != -1UL ? __entry->pfn : 0,
218 __entry->order, 218 __entry->order,
219 __entry->migratetype, 219 __entry->migratetype,
220 show_gfp_flags(__entry->gfp_flags)) 220 show_gfp_flags(__entry->gfp_flags))
@@ -227,20 +227,20 @@ DECLARE_EVENT_CLASS(mm_page,
227 TP_ARGS(page, order, migratetype), 227 TP_ARGS(page, order, migratetype),
228 228
229 TP_STRUCT__entry( 229 TP_STRUCT__entry(
230 __field( struct page *, page ) 230 __field( unsigned long, pfn )
231 __field( unsigned int, order ) 231 __field( unsigned int, order )
232 __field( int, migratetype ) 232 __field( int, migratetype )
233 ), 233 ),
234 234
235 TP_fast_assign( 235 TP_fast_assign(
236 __entry->page = page; 236 __entry->pfn = page ? page_to_pfn(page) : -1UL;
237 __entry->order = order; 237 __entry->order = order;
238 __entry->migratetype = migratetype; 238 __entry->migratetype = migratetype;
239 ), 239 ),
240 240
241 TP_printk("page=%p pfn=%lu order=%u migratetype=%d percpu_refill=%d", 241 TP_printk("page=%p pfn=%lu order=%u migratetype=%d percpu_refill=%d",
242 __entry->page, 242 __entry->pfn != -1UL ? pfn_to_page(__entry->pfn) : NULL,
243 __entry->page ? page_to_pfn(__entry->page) : 0, 243 __entry->pfn != -1UL ? __entry->pfn : 0,
244 __entry->order, 244 __entry->order,
245 __entry->migratetype, 245 __entry->migratetype,
246 __entry->order == 0) 246 __entry->order == 0)
@@ -260,7 +260,7 @@ DEFINE_EVENT_PRINT(mm_page, mm_page_pcpu_drain,
260 TP_ARGS(page, order, migratetype), 260 TP_ARGS(page, order, migratetype),
261 261
262 TP_printk("page=%p pfn=%lu order=%d migratetype=%d", 262 TP_printk("page=%p pfn=%lu order=%d migratetype=%d",
263 __entry->page, page_to_pfn(__entry->page), 263 pfn_to_page(__entry->pfn), __entry->pfn,
264 __entry->order, __entry->migratetype) 264 __entry->order, __entry->migratetype)
265); 265);
266 266
@@ -275,7 +275,7 @@ TRACE_EVENT(mm_page_alloc_extfrag,
275 alloc_migratetype, fallback_migratetype), 275 alloc_migratetype, fallback_migratetype),
276 276
277 TP_STRUCT__entry( 277 TP_STRUCT__entry(
278 __field( struct page *, page ) 278 __field( unsigned long, pfn )
279 __field( int, alloc_order ) 279 __field( int, alloc_order )
280 __field( int, fallback_order ) 280 __field( int, fallback_order )
281 __field( int, alloc_migratetype ) 281 __field( int, alloc_migratetype )
@@ -284,7 +284,7 @@ TRACE_EVENT(mm_page_alloc_extfrag,
284 ), 284 ),
285 285
286 TP_fast_assign( 286 TP_fast_assign(
287 __entry->page = page; 287 __entry->pfn = page_to_pfn(page);
288 __entry->alloc_order = alloc_order; 288 __entry->alloc_order = alloc_order;
289 __entry->fallback_order = fallback_order; 289 __entry->fallback_order = fallback_order;
290 __entry->alloc_migratetype = alloc_migratetype; 290 __entry->alloc_migratetype = alloc_migratetype;
@@ -294,8 +294,8 @@ TRACE_EVENT(mm_page_alloc_extfrag,
294 ), 294 ),
295 295
296 TP_printk("page=%p pfn=%lu alloc_order=%d fallback_order=%d pageblock_order=%d alloc_migratetype=%d fallback_migratetype=%d fragmenting=%d change_ownership=%d", 296 TP_printk("page=%p pfn=%lu alloc_order=%d fallback_order=%d pageblock_order=%d alloc_migratetype=%d fallback_migratetype=%d fragmenting=%d change_ownership=%d",
297 __entry->page, 297 pfn_to_page(__entry->pfn),
298 page_to_pfn(__entry->page), 298 __entry->pfn,
299 __entry->alloc_order, 299 __entry->alloc_order,
300 __entry->fallback_order, 300 __entry->fallback_order,
301 pageblock_order, 301 pageblock_order,
diff --git a/include/trace/events/vmscan.h b/include/trace/events/vmscan.h
index 69590b6ffc09..f66476b96264 100644
--- a/include/trace/events/vmscan.h
+++ b/include/trace/events/vmscan.h
@@ -336,18 +336,18 @@ TRACE_EVENT(mm_vmscan_writepage,
336 TP_ARGS(page, reclaim_flags), 336 TP_ARGS(page, reclaim_flags),
337 337
338 TP_STRUCT__entry( 338 TP_STRUCT__entry(
339 __field(struct page *, page) 339 __field(unsigned long, pfn)
340 __field(int, reclaim_flags) 340 __field(int, reclaim_flags)
341 ), 341 ),
342 342
343 TP_fast_assign( 343 TP_fast_assign(
344 __entry->page = page; 344 __entry->pfn = page_to_pfn(page);
345 __entry->reclaim_flags = reclaim_flags; 345 __entry->reclaim_flags = reclaim_flags;
346 ), 346 ),
347 347
348 TP_printk("page=%p pfn=%lu flags=%s", 348 TP_printk("page=%p pfn=%lu flags=%s",
349 __entry->page, 349 pfn_to_page(__entry->pfn),
350 page_to_pfn(__entry->page), 350 __entry->pfn,
351 show_reclaim_flags(__entry->reclaim_flags)) 351 show_reclaim_flags(__entry->reclaim_flags))
352); 352);
353 353