From: Wu Fengguang <fengguang.wu@intel.com>
To: <linux-fsdevel@vger.kernel.org>
Cc: Jan Kara <jack@suse.cz>, Dave Chinner <david@fromorbit.com>,
Christoph Hellwig <hch@infradead.org>,
Wu Fengguang <fengguang.wu@intel.com>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: LKML <linux-kernel@vger.kernel.org>
Subject: [PATCH 3/7] writeback: update wb->last_active on written pages/inodes
Date: Thu, 20 Oct 2011 23:22:43 +0800 [thread overview]
Message-ID: <20111020153706.009762650@intel.com> (raw)
In-Reply-To: 20111020152240.751936131@intel.com
[-- Attachment #1: writeback-progress --]
[-- Type: text/plain, Size: 1726 bytes --]
From: Jan Kara <jack@suse.cz>
The writeback last_active value should be updated on not only written
pages, but also cleaned inodes.
Signed-off-by: Jan Kara <jack@suse.cz>
Signed-off-by: Wu Fengguang <fengguang.wu@intel.com>
---
fs/fs-writeback.c | 13 +++++++------
1 file changed, 7 insertions(+), 6 deletions(-)
--- linux-next.orig/fs/fs-writeback.c 2011-10-20 21:39:48.000000000 +0800
+++ linux-next/fs/fs-writeback.c 2011-10-20 22:36:59.000000000 +0800
@@ -744,6 +744,7 @@ static long wb_writeback(struct bdi_writ
unsigned long oldest_jif;
struct inode *inode;
long progress;
+ long total_progress = 0;
oldest_jif = jiffies;
work->older_than_this = &oldest_jif;
@@ -787,6 +788,7 @@ static long wb_writeback(struct bdi_writ
else
progress = __writeback_inodes_wb(wb, work);
trace_writeback_written(wb->bdi, work);
+ total_progress += progress;
wb_update_bandwidth(wb, wb_start);
@@ -820,7 +822,8 @@ static long wb_writeback(struct bdi_writ
}
spin_unlock(&wb->list_lock);
- return nr_pages - work->nr_pages;
+ trace_writeback_pages_written(nr_pages - work->nr_pages);
+ return total_progress;
}
/*
@@ -954,7 +957,7 @@ int bdi_writeback_thread(void *data)
{
struct bdi_writeback *wb = data;
struct backing_dev_info *bdi = wb->bdi;
- long pages_written;
+ long progress;
current->flags |= PF_SWAPWRITE;
set_freezable();
@@ -974,11 +977,9 @@ int bdi_writeback_thread(void *data)
*/
del_timer(&wb->wakeup_timer);
- pages_written = wb_do_writeback(wb, 0);
-
- trace_writeback_pages_written(pages_written);
+ progress = wb_do_writeback(wb, 0);
- if (pages_written)
+ if (progress)
wb->last_active = jiffies;
set_current_state(TASK_INTERRUPTIBLE);
next prev parent reply other threads:[~2011-10-20 15:39 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-10-20 15:22 [PATCH 0/7] writeback: avoid touching dirtied_when on blocked inodes Wu Fengguang
2011-10-20 15:22 ` [PATCH 1/7] writeback: introduce queue b_more_io_wait Wu Fengguang
2011-10-20 23:23 ` Jan Kara
2011-10-20 15:22 ` [PATCH 2/7] writeback: avoid redirtying when ->write_inode failed to clear I_DIRTY Wu Fengguang
2011-10-20 23:24 ` Jan Kara
2011-10-20 15:22 ` Wu Fengguang [this message]
2011-10-20 15:22 ` [PATCH 4/7] writeback: Retry kupdate work early if we need to retry some inode writeback Wu Fengguang
2011-10-20 15:22 ` [PATCH 5/7] writeback: requeue_io_wait() on pages_skipped inode Wu Fengguang
2011-10-20 23:25 ` Jan Kara
2011-10-20 15:22 ` [PATCH 6/7] writeback: requeue_io_wait() on blocked inode Wu Fengguang
2011-10-20 23:31 ` Jan Kara
2011-10-20 15:22 ` [PATCH 7/7] writeback: requeue_io_wait() when failed to grab superblock Wu Fengguang
2011-10-20 23:25 ` Jan Kara
2011-10-20 23:21 ` [PATCH 0/7] writeback: avoid touching dirtied_when on blocked inodes Jan Kara
2011-10-21 10:40 ` Wu Fengguang
2011-10-21 19:54 ` Jan Kara
2011-10-22 3:11 ` Wu Fengguang
2011-10-22 5:38 ` Wu Fengguang
2011-10-22 6:59 ` Wu Fengguang
2011-10-22 7:07 ` Wu Fengguang
2011-10-22 7:46 ` Wu Fengguang
2011-10-22 4:46 ` Wu Fengguang
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20111020153706.009762650@intel.com \
--to=fengguang.wu@intel.com \
--cc=david@fromorbit.com \
--cc=hch@infradead.org \
--cc=jack@suse.cz \
--cc=linux-fsdevel@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.