diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2012-05-28 12:54:45 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2012-05-28 12:54:45 -0400 |
commit | 90324cc1b11a211e37eabd8cb863e1a1561d6b1d (patch) | |
tree | c8b79c6850420a114ca6660c1b44fc486b1ba86d /include/trace | |
parent | fb8b00675eb6462aacab56bca31ed6107bda5314 (diff) | |
parent | 169ebd90131b2ffca74bb2dbe7eeacd39fb83714 (diff) |
Merge tag 'writeback' of git://git.kernel.org/pub/scm/linux/kernel/git/wfg/linux
Pull writeback tree from Wu Fengguang:
"Mainly from Jan Kara to avoid iput() in the flusher threads."
* tag 'writeback' of git://git.kernel.org/pub/scm/linux/kernel/git/wfg/linux:
writeback: Avoid iput() from flusher thread
vfs: Rename end_writeback() to clear_inode()
vfs: Move waiting for inode writeback from end_writeback() to evict_inode()
writeback: Refactor writeback_single_inode()
writeback: Remove wb->list_lock from writeback_single_inode()
writeback: Separate inode requeueing after writeback
writeback: Move I_DIRTY_PAGES handling
writeback: Move requeueing when I_SYNC set to writeback_sb_inodes()
writeback: Move clearing of I_SYNC into inode_sync_complete()
writeback: initialize global_dirty_limit
fs: remove 8 bytes of padding from struct writeback_control on 64 bit builds
mm: page-writeback.c: local functions should not be exposed globally
Diffstat (limited to 'include/trace')
-rw-r--r-- | include/trace/events/writeback.h | 36 |
1 files changed, 29 insertions, 7 deletions
diff --git a/include/trace/events/writeback.h b/include/trace/events/writeback.h index 7b81887b023f..b453d92c2253 100644 --- a/include/trace/events/writeback.h +++ b/include/trace/events/writeback.h | |||
@@ -372,6 +372,35 @@ TRACE_EVENT(balance_dirty_pages, | |||
372 | ) | 372 | ) |
373 | ); | 373 | ); |
374 | 374 | ||
375 | TRACE_EVENT(writeback_sb_inodes_requeue, | ||
376 | |||
377 | TP_PROTO(struct inode *inode), | ||
378 | TP_ARGS(inode), | ||
379 | |||
380 | TP_STRUCT__entry( | ||
381 | __array(char, name, 32) | ||
382 | __field(unsigned long, ino) | ||
383 | __field(unsigned long, state) | ||
384 | __field(unsigned long, dirtied_when) | ||
385 | ), | ||
386 | |||
387 | TP_fast_assign( | ||
388 | strncpy(__entry->name, | ||
389 | dev_name(inode_to_bdi(inode)->dev), 32); | ||
390 | __entry->ino = inode->i_ino; | ||
391 | __entry->state = inode->i_state; | ||
392 | __entry->dirtied_when = inode->dirtied_when; | ||
393 | ), | ||
394 | |||
395 | TP_printk("bdi %s: ino=%lu state=%s dirtied_when=%lu age=%lu", | ||
396 | __entry->name, | ||
397 | __entry->ino, | ||
398 | show_inode_state(__entry->state), | ||
399 | __entry->dirtied_when, | ||
400 | (jiffies - __entry->dirtied_when) / HZ | ||
401 | ) | ||
402 | ); | ||
403 | |||
375 | DECLARE_EVENT_CLASS(writeback_congest_waited_template, | 404 | DECLARE_EVENT_CLASS(writeback_congest_waited_template, |
376 | 405 | ||
377 | TP_PROTO(unsigned int usec_timeout, unsigned int usec_delayed), | 406 | TP_PROTO(unsigned int usec_timeout, unsigned int usec_delayed), |
@@ -450,13 +479,6 @@ DECLARE_EVENT_CLASS(writeback_single_inode_template, | |||
450 | ) | 479 | ) |
451 | ); | 480 | ); |
452 | 481 | ||
453 | DEFINE_EVENT(writeback_single_inode_template, writeback_single_inode_requeue, | ||
454 | TP_PROTO(struct inode *inode, | ||
455 | struct writeback_control *wbc, | ||
456 | unsigned long nr_to_write), | ||
457 | TP_ARGS(inode, wbc, nr_to_write) | ||
458 | ); | ||
459 | |||
460 | DEFINE_EVENT(writeback_single_inode_template, writeback_single_inode, | 482 | DEFINE_EVENT(writeback_single_inode_template, writeback_single_inode, |
461 | TP_PROTO(struct inode *inode, | 483 | TP_PROTO(struct inode *inode, |
462 | struct writeback_control *wbc, | 484 | struct writeback_control *wbc, |