diff options
author | Tao Ma <boyu.mt@taobao.com> | 2012-01-12 20:19:20 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2012-01-12 23:13:08 -0500 |
commit | ea4d349ffa8028c655236497c2ba17c17aaa0d65 (patch) | |
tree | b983961282dea73db03a1257fa4aaec109aee5cc | |
parent | 45676885b76237a4c236d26fe20a9b0cfdb2eb22 (diff) |
vmscan/trace: Add 'file' info to trace_mm_vmscan_lru_isolate()
In trace_mm_vmscan_lru_isolate(), we don't output 'file' information to
the trace event and it is a bit inconvenient for the user to get the
real information(like pasted below). mm_vmscan_lru_isolate:
isolate_mode=2 order=0 nr_requested=32 nr_scanned=32 nr_taken=32
contig_taken=0 contig_dirty=0 contig_failed=0
'active' can be obtained by analyzing mode(Thanks go to Minchan and
Mel), So this patch adds 'file' to the trace event and it now looks
like: mm_vmscan_lru_isolate: isolate_mode=2 order=0 nr_requested=32
nr_scanned=32 nr_taken=32 contig_taken=0 contig_dirty=0 contig_failed=0
file=0
Signed-off-by: Tao Ma <boyu.mt@taobao.com>
Acked-by: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>
Reviewed-by: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
Cc: Mel Gorman <mel@csn.ul.ie>
Reviewed-by: Minchan Kim <minchan@kernel.org>
Cc: Rik van Riel <riel@redhat.com>
Cc: Johannes Weiner <hannes@cmpxchg.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
-rw-r--r-- | include/trace/events/vmscan.h | 22 | ||||
-rw-r--r-- | mm/vmscan.c | 2 |
2 files changed, 15 insertions, 9 deletions
diff --git a/include/trace/events/vmscan.h b/include/trace/events/vmscan.h index edc4b3d25a2d..f64560e204bc 100644 --- a/include/trace/events/vmscan.h +++ b/include/trace/events/vmscan.h | |||
@@ -266,9 +266,10 @@ DECLARE_EVENT_CLASS(mm_vmscan_lru_isolate_template, | |||
266 | unsigned long nr_lumpy_taken, | 266 | unsigned long nr_lumpy_taken, |
267 | unsigned long nr_lumpy_dirty, | 267 | unsigned long nr_lumpy_dirty, |
268 | unsigned long nr_lumpy_failed, | 268 | unsigned long nr_lumpy_failed, |
269 | isolate_mode_t isolate_mode), | 269 | isolate_mode_t isolate_mode, |
270 | int file), | ||
270 | 271 | ||
271 | TP_ARGS(order, nr_requested, nr_scanned, nr_taken, nr_lumpy_taken, nr_lumpy_dirty, nr_lumpy_failed, isolate_mode), | 272 | TP_ARGS(order, nr_requested, nr_scanned, nr_taken, nr_lumpy_taken, nr_lumpy_dirty, nr_lumpy_failed, isolate_mode, file), |
272 | 273 | ||
273 | TP_STRUCT__entry( | 274 | TP_STRUCT__entry( |
274 | __field(int, order) | 275 | __field(int, order) |
@@ -279,6 +280,7 @@ DECLARE_EVENT_CLASS(mm_vmscan_lru_isolate_template, | |||
279 | __field(unsigned long, nr_lumpy_dirty) | 280 | __field(unsigned long, nr_lumpy_dirty) |
280 | __field(unsigned long, nr_lumpy_failed) | 281 | __field(unsigned long, nr_lumpy_failed) |
281 | __field(isolate_mode_t, isolate_mode) | 282 | __field(isolate_mode_t, isolate_mode) |
283 | __field(int, file) | ||
282 | ), | 284 | ), |
283 | 285 | ||
284 | TP_fast_assign( | 286 | TP_fast_assign( |
@@ -290,9 +292,10 @@ DECLARE_EVENT_CLASS(mm_vmscan_lru_isolate_template, | |||
290 | __entry->nr_lumpy_dirty = nr_lumpy_dirty; | 292 | __entry->nr_lumpy_dirty = nr_lumpy_dirty; |
291 | __entry->nr_lumpy_failed = nr_lumpy_failed; | 293 | __entry->nr_lumpy_failed = nr_lumpy_failed; |
292 | __entry->isolate_mode = isolate_mode; | 294 | __entry->isolate_mode = isolate_mode; |
295 | __entry->file = file; | ||
293 | ), | 296 | ), |
294 | 297 | ||
295 | TP_printk("isolate_mode=%d order=%d nr_requested=%lu nr_scanned=%lu nr_taken=%lu contig_taken=%lu contig_dirty=%lu contig_failed=%lu", | 298 | TP_printk("isolate_mode=%d order=%d nr_requested=%lu nr_scanned=%lu nr_taken=%lu contig_taken=%lu contig_dirty=%lu contig_failed=%lu file=%d", |
296 | __entry->isolate_mode, | 299 | __entry->isolate_mode, |
297 | __entry->order, | 300 | __entry->order, |
298 | __entry->nr_requested, | 301 | __entry->nr_requested, |
@@ -300,7 +303,8 @@ DECLARE_EVENT_CLASS(mm_vmscan_lru_isolate_template, | |||
300 | __entry->nr_taken, | 303 | __entry->nr_taken, |
301 | __entry->nr_lumpy_taken, | 304 | __entry->nr_lumpy_taken, |
302 | __entry->nr_lumpy_dirty, | 305 | __entry->nr_lumpy_dirty, |
303 | __entry->nr_lumpy_failed) | 306 | __entry->nr_lumpy_failed, |
307 | __entry->file) | ||
304 | ); | 308 | ); |
305 | 309 | ||
306 | DEFINE_EVENT(mm_vmscan_lru_isolate_template, mm_vmscan_lru_isolate, | 310 | DEFINE_EVENT(mm_vmscan_lru_isolate_template, mm_vmscan_lru_isolate, |
@@ -312,9 +316,10 @@ DEFINE_EVENT(mm_vmscan_lru_isolate_template, mm_vmscan_lru_isolate, | |||
312 | unsigned long nr_lumpy_taken, | 316 | unsigned long nr_lumpy_taken, |
313 | unsigned long nr_lumpy_dirty, | 317 | unsigned long nr_lumpy_dirty, |
314 | unsigned long nr_lumpy_failed, | 318 | unsigned long nr_lumpy_failed, |
315 | isolate_mode_t isolate_mode), | 319 | isolate_mode_t isolate_mode, |
320 | int file), | ||
316 | 321 | ||
317 | TP_ARGS(order, nr_requested, nr_scanned, nr_taken, nr_lumpy_taken, nr_lumpy_dirty, nr_lumpy_failed, isolate_mode) | 322 | TP_ARGS(order, nr_requested, nr_scanned, nr_taken, nr_lumpy_taken, nr_lumpy_dirty, nr_lumpy_failed, isolate_mode, file) |
318 | 323 | ||
319 | ); | 324 | ); |
320 | 325 | ||
@@ -327,9 +332,10 @@ DEFINE_EVENT(mm_vmscan_lru_isolate_template, mm_vmscan_memcg_isolate, | |||
327 | unsigned long nr_lumpy_taken, | 332 | unsigned long nr_lumpy_taken, |
328 | unsigned long nr_lumpy_dirty, | 333 | unsigned long nr_lumpy_dirty, |
329 | unsigned long nr_lumpy_failed, | 334 | unsigned long nr_lumpy_failed, |
330 | isolate_mode_t isolate_mode), | 335 | isolate_mode_t isolate_mode, |
336 | int file), | ||
331 | 337 | ||
332 | TP_ARGS(order, nr_requested, nr_scanned, nr_taken, nr_lumpy_taken, nr_lumpy_dirty, nr_lumpy_failed, isolate_mode) | 338 | TP_ARGS(order, nr_requested, nr_scanned, nr_taken, nr_lumpy_taken, nr_lumpy_dirty, nr_lumpy_failed, isolate_mode, file) |
333 | 339 | ||
334 | ); | 340 | ); |
335 | 341 | ||
diff --git a/mm/vmscan.c b/mm/vmscan.c index e16ca8384ef7..a85a261bf8f9 100644 --- a/mm/vmscan.c +++ b/mm/vmscan.c | |||
@@ -1234,7 +1234,7 @@ static unsigned long isolate_lru_pages(unsigned long nr_to_scan, | |||
1234 | nr_to_scan, scan, | 1234 | nr_to_scan, scan, |
1235 | nr_taken, | 1235 | nr_taken, |
1236 | nr_lumpy_taken, nr_lumpy_dirty, nr_lumpy_failed, | 1236 | nr_lumpy_taken, nr_lumpy_dirty, nr_lumpy_failed, |
1237 | mode); | 1237 | mode, file); |
1238 | return nr_taken; | 1238 | return nr_taken; |
1239 | } | 1239 | } |
1240 | 1240 | ||