summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorWu Fengguang <fengguang.wu@intel.com>2011-01-13 15:45:46 -0800
committerLinus Torvalds <torvalds@linux-foundation.org>2011-01-13 17:32:32 -0800
commit71927e84e0aebfbe5a91565c3b207af25a4e9162 (patch)
tree8271f6d2008405bd392893ab0f7a4bd25653dc90
parent6585027a5e8cb490e3a761b2f3f3c3acf722aff2 (diff)
downloadlinux-71927e84e0aebfbe5a91565c3b207af25a4e9162.tar.gz
linux-71927e84e0aebfbe5a91565c3b207af25a4e9162.tar.bz2
linux-71927e84e0aebfbe5a91565c3b207af25a4e9162.zip
writeback: trace wakeup event for background writeback
This tracks when balance_dirty_pages() tries to wakeup the flusher thread for background writeback (if it was not started already). Suggested-by: Christoph Hellwig <hch@infradead.org> Signed-off-by: Wu Fengguang <fengguang.wu@intel.com> Cc: Jan Kara <jack@suse.cz> Cc: Johannes Weiner <hannes@cmpxchg.org> Cc: Dave Chinner <david@fromorbit.com> Cc: Jan Engelhardt <jengelh@medozas.de> Cc: Jens Axboe <axboe@kernel.dk> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
-rw-r--r--fs/fs-writeback.c1
-rw-r--r--include/trace/events/writeback.h1
2 files changed, 2 insertions, 0 deletions
diff --git a/fs/fs-writeback.c b/fs/fs-writeback.c
index 3a07f6d8bc0b..482de0a92ca7 100644
--- a/fs/fs-writeback.c
+++ b/fs/fs-writeback.c
@@ -169,6 +169,7 @@ void bdi_start_background_writeback(struct backing_dev_info *bdi)
* We just wake up the flusher thread. It will perform background
* writeback as soon as there is no other work to do.
*/
+ trace_writeback_wake_background(bdi);
spin_lock_bh(&bdi->wb_lock);
bdi_wakeup_flusher(bdi);
spin_unlock_bh(&bdi->wb_lock);
diff --git a/include/trace/events/writeback.h b/include/trace/events/writeback.h
index 89a2b2db4375..4e249b927eaa 100644
--- a/include/trace/events/writeback.h
+++ b/include/trace/events/writeback.h
@@ -81,6 +81,7 @@ DEFINE_EVENT(writeback_class, name, \
TP_ARGS(bdi))
DEFINE_WRITEBACK_EVENT(writeback_nowork);
+DEFINE_WRITEBACK_EVENT(writeback_wake_background);
DEFINE_WRITEBACK_EVENT(writeback_wake_thread);
DEFINE_WRITEBACK_EVENT(writeback_wake_forker_thread);
DEFINE_WRITEBACK_EVENT(writeback_bdi_register);