Commit b3bba872ddb0320a7ecb54decae53c13ceb2ed4c
1 parent
384703b8e6
writeback: show writeback reason with __print_symbolic
This makes the binary trace understandable by trace-cmd. CC: Dave Chinner <david@fromorbit.com> CC: Curt Wohlgemuth <curtw@google.com> CC: Steven Rostedt <rostedt@goodmis.org> Signed-off-by: Wu Fengguang <fengguang.wu@intel.com>
Showing 2 changed files with 13 additions and 13 deletions Side-by-side Diff
fs/fs-writeback.c
... | ... | @@ -47,17 +47,6 @@ |
47 | 47 | struct completion *done; /* set if the caller waits */ |
48 | 48 | }; |
49 | 49 | |
50 | -const char *wb_reason_name[] = { | |
51 | - [WB_REASON_BACKGROUND] = "background", | |
52 | - [WB_REASON_TRY_TO_FREE_PAGES] = "try_to_free_pages", | |
53 | - [WB_REASON_SYNC] = "sync", | |
54 | - [WB_REASON_PERIODIC] = "periodic", | |
55 | - [WB_REASON_LAPTOP_TIMER] = "laptop_timer", | |
56 | - [WB_REASON_FREE_MORE_MEM] = "free_more_memory", | |
57 | - [WB_REASON_FS_FREE_SPACE] = "fs_free_space", | |
58 | - [WB_REASON_FORKER_THREAD] = "forker_thread" | |
59 | -}; | |
60 | - | |
61 | 50 | /* |
62 | 51 | * Include the creation of the trace points after defining the |
63 | 52 | * wb_writeback_work structure so that the definition remains local to this |
include/trace/events/writeback.h
... | ... | @@ -21,6 +21,16 @@ |
21 | 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 | + | |
24 | 34 | struct wb_writeback_work; |
25 | 35 | |
26 | 36 | DECLARE_EVENT_CLASS(writeback_work_class, |
... | ... | @@ -55,7 +65,7 @@ |
55 | 65 | __entry->for_kupdate, |
56 | 66 | __entry->range_cyclic, |
57 | 67 | __entry->for_background, |
58 | - wb_reason_name[__entry->reason] | |
68 | + __print_symbolic(__entry->reason, WB_WORK_REASON) | |
59 | 69 | ) |
60 | 70 | ); |
61 | 71 | #define DEFINE_WRITEBACK_WORK_EVENT(name) \ |
... | ... | @@ -184,7 +194,8 @@ |
184 | 194 | __entry->older, /* older_than_this in jiffies */ |
185 | 195 | __entry->age, /* older_than_this in relative milliseconds */ |
186 | 196 | __entry->moved, |
187 | - wb_reason_name[__entry->reason]) | |
197 | + __print_symbolic(__entry->reason, WB_WORK_REASON) | |
198 | + ) | |
188 | 199 | ); |
189 | 200 | |
190 | 201 | TRACE_EVENT(global_dirty_state, |