aboutsummaryrefslogtreecommitdiffstats
path: root/include/trace/events/writeback.h
diff options
context:
space:
mode:
authorWu Fengguang <fengguang.wu@intel.com>2011-04-23 14:27:27 -0400
committerWu Fengguang <fengguang.wu@intel.com>2011-06-07 20:25:23 -0400
commite84d0a4f8e39a73003a6ec9a11b07702745f4c1f (patch)
tree2319765d78502d13101ac50bafb0ba5577133092 /include/trace/events/writeback.h
parent251d6a471c831e22880b3c146bb4556ddfb1dc82 (diff)
writeback: trace event writeback_queue_io
Note that it adds a little overheads to account the moved/enqueued inodes from b_dirty to b_io. The "moved" accounting may be later used to limit the number of inodes that can be moved in one shot, in order to keep spinlock hold time under control. Signed-off-by: Wu Fengguang <fengguang.wu@intel.com>
Diffstat (limited to 'include/trace/events/writeback.h')
-rw-r--r--include/trace/events/writeback.h25
1 files changed, 25 insertions, 0 deletions
diff --git a/include/trace/events/writeback.h b/include/trace/events/writeback.h
index 898277bc89b4..205d14919ef2 100644
--- a/include/trace/events/writeback.h
+++ b/include/trace/events/writeback.h
@@ -162,6 +162,31 @@ DEFINE_WBC_EVENT(wbc_balance_dirty_written);
162DEFINE_WBC_EVENT(wbc_balance_dirty_wait); 162DEFINE_WBC_EVENT(wbc_balance_dirty_wait);
163DEFINE_WBC_EVENT(wbc_writepage); 163DEFINE_WBC_EVENT(wbc_writepage);
164 164
165TRACE_EVENT(writeback_queue_io,
166 TP_PROTO(struct bdi_writeback *wb,
167 unsigned long *older_than_this,
168 int moved),
169 TP_ARGS(wb, older_than_this, moved),
170 TP_STRUCT__entry(
171 __array(char, name, 32)
172 __field(unsigned long, older)
173 __field(long, age)
174 __field(int, moved)
175 ),
176 TP_fast_assign(
177 strncpy(__entry->name, dev_name(wb->bdi->dev), 32);
178 __entry->older = older_than_this ? *older_than_this : 0;
179 __entry->age = older_than_this ?
180 (jiffies - *older_than_this) * 1000 / HZ : -1;
181 __entry->moved = moved;
182 ),
183 TP_printk("bdi %s: older=%lu age=%ld enqueue=%d",
184 __entry->name,
185 __entry->older, /* older_than_this in jiffies */
186 __entry->age, /* older_than_this in relative milliseconds */
187 __entry->moved)
188);
189
165DECLARE_EVENT_CLASS(writeback_congest_waited_template, 190DECLARE_EVENT_CLASS(writeback_congest_waited_template,
166 191
167 TP_PROTO(unsigned int usec_timeout, unsigned int usec_delayed), 192 TP_PROTO(unsigned int usec_timeout, unsigned int usec_delayed),