aboutsummaryrefslogtreecommitdiffstats
path: root/include/trace/events/writeback.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/trace/events/writeback.h')
-rw-r--r--include/trace/events/writeback.h29
1 files changed, 24 insertions, 5 deletions
diff --git a/include/trace/events/writeback.h b/include/trace/events/writeback.h
index b99caa8b780c..8588a8918023 100644
--- a/include/trace/events/writeback.h
+++ b/include/trace/events/writeback.h
@@ -21,6 +21,16 @@
21 {I_REFERENCED, "I_REFERENCED"} \ 21 {I_REFERENCED, "I_REFERENCED"} \
22 ) 22 )
23 23
24#define WB_WORK_REASON \
25 {WB_REASON_BACKGROUND, "background"}, \
26 {WB_REASON_TRY_TO_FREE_PAGES, "try_to_free_pages"}, \
27 {WB_REASON_SYNC, "sync"}, \
28 {WB_REASON_PERIODIC, "periodic"}, \
29 {WB_REASON_LAPTOP_TIMER, "laptop_timer"}, \
30 {WB_REASON_FREE_MORE_MEM, "free_more_memory"}, \
31 {WB_REASON_FS_FREE_SPACE, "fs_free_space"}, \
32 {WB_REASON_FORKER_THREAD, "forker_thread"}
33
24struct wb_writeback_work; 34struct wb_writeback_work;
25 35
26DECLARE_EVENT_CLASS(writeback_work_class, 36DECLARE_EVENT_CLASS(writeback_work_class,
@@ -55,7 +65,7 @@ DECLARE_EVENT_CLASS(writeback_work_class,
55 __entry->for_kupdate, 65 __entry->for_kupdate,
56 __entry->range_cyclic, 66 __entry->range_cyclic,
57 __entry->for_background, 67 __entry->for_background,
58 wb_reason_name[__entry->reason] 68 __print_symbolic(__entry->reason, WB_WORK_REASON)
59 ) 69 )
60); 70);
61#define DEFINE_WRITEBACK_WORK_EVENT(name) \ 71#define DEFINE_WRITEBACK_WORK_EVENT(name) \
@@ -184,7 +194,8 @@ TRACE_EVENT(writeback_queue_io,
184 __entry->older, /* older_than_this in jiffies */ 194 __entry->older, /* older_than_this in jiffies */
185 __entry->age, /* older_than_this in relative milliseconds */ 195 __entry->age, /* older_than_this in relative milliseconds */
186 __entry->moved, 196 __entry->moved,
187 wb_reason_name[__entry->reason]) 197 __print_symbolic(__entry->reason, WB_WORK_REASON)
198 )
188); 199);
189 200
190TRACE_EVENT(global_dirty_state, 201TRACE_EVENT(global_dirty_state,
@@ -289,12 +300,13 @@ TRACE_EVENT(balance_dirty_pages,
289 unsigned long dirty_ratelimit, 300 unsigned long dirty_ratelimit,
290 unsigned long task_ratelimit, 301 unsigned long task_ratelimit,
291 unsigned long dirtied, 302 unsigned long dirtied,
303 unsigned long period,
292 long pause, 304 long pause,
293 unsigned long start_time), 305 unsigned long start_time),
294 306
295 TP_ARGS(bdi, thresh, bg_thresh, dirty, bdi_thresh, bdi_dirty, 307 TP_ARGS(bdi, thresh, bg_thresh, dirty, bdi_thresh, bdi_dirty,
296 dirty_ratelimit, task_ratelimit, 308 dirty_ratelimit, task_ratelimit,
297 dirtied, pause, start_time), 309 dirtied, period, pause, start_time),
298 310
299 TP_STRUCT__entry( 311 TP_STRUCT__entry(
300 __array( char, bdi, 32) 312 __array( char, bdi, 32)
@@ -309,6 +321,8 @@ TRACE_EVENT(balance_dirty_pages,
309 __field(unsigned int, dirtied_pause) 321 __field(unsigned int, dirtied_pause)
310 __field(unsigned long, paused) 322 __field(unsigned long, paused)
311 __field( long, pause) 323 __field( long, pause)
324 __field(unsigned long, period)
325 __field( long, think)
312 ), 326 ),
313 327
314 TP_fast_assign( 328 TP_fast_assign(
@@ -325,6 +339,9 @@ TRACE_EVENT(balance_dirty_pages,
325 __entry->task_ratelimit = KBps(task_ratelimit); 339 __entry->task_ratelimit = KBps(task_ratelimit);
326 __entry->dirtied = dirtied; 340 __entry->dirtied = dirtied;
327 __entry->dirtied_pause = current->nr_dirtied_pause; 341 __entry->dirtied_pause = current->nr_dirtied_pause;
342 __entry->think = current->dirty_paused_when == 0 ? 0 :
343 (long)(jiffies - current->dirty_paused_when) * 1000/HZ;
344 __entry->period = period * 1000 / HZ;
328 __entry->pause = pause * 1000 / HZ; 345 __entry->pause = pause * 1000 / HZ;
329 __entry->paused = (jiffies - start_time) * 1000 / HZ; 346 __entry->paused = (jiffies - start_time) * 1000 / HZ;
330 ), 347 ),
@@ -335,7 +352,7 @@ TRACE_EVENT(balance_dirty_pages,
335 "bdi_setpoint=%lu bdi_dirty=%lu " 352 "bdi_setpoint=%lu bdi_dirty=%lu "
336 "dirty_ratelimit=%lu task_ratelimit=%lu " 353 "dirty_ratelimit=%lu task_ratelimit=%lu "
337 "dirtied=%u dirtied_pause=%u " 354 "dirtied=%u dirtied_pause=%u "
338 "paused=%lu pause=%ld", 355 "paused=%lu pause=%ld period=%lu think=%ld",
339 __entry->bdi, 356 __entry->bdi,
340 __entry->limit, 357 __entry->limit,
341 __entry->setpoint, 358 __entry->setpoint,
@@ -347,7 +364,9 @@ TRACE_EVENT(balance_dirty_pages,
347 __entry->dirtied, 364 __entry->dirtied,
348 __entry->dirtied_pause, 365 __entry->dirtied_pause,
349 __entry->paused, /* ms */ 366 __entry->paused, /* ms */
350 __entry->pause /* ms */ 367 __entry->pause, /* ms */
368 __entry->period, /* ms */
369 __entry->think /* ms */
351 ) 370 )
352); 371);
353 372