for 1 hour, during which the
pdflush will retry the page _at least_ once every 5s.
So clear PAGECACHE_TAG_DIRTY to prevent pdflush from retrying on it.
Tested-by: Joerg Platte <[EMAIL PROTECTED]>
Cc: Peter Zijlstra <[EMAIL PROTECTED]>
Cc: Michael Rubin <[EMAIL PROTECTED]>
Si
On Thu, Jan 17, 2008 at 11:51:51PM -0800, Michael Rubin wrote:
> On Jan 15, 2008 4:36 AM, Fengguang Wu <[EMAIL PROTECTED]> wrote:
> > Andrew,
> >
> > This patchset mainly polishes the writeback queuing policies.
> > The main goals are:
> >
> > (1) s
On Wed, Jan 16, 2008 at 07:13:07PM +1100, David Chinner wrote:
> On Tue, Jan 15, 2008 at 08:36:46PM +0800, Fengguang Wu wrote:
> > Redirtied inodes could be seen in really fast writes.
> > They should really be synced as soon as possible.
> >
> > redirty_tail() could de
On Tue, Jan 15, 2008 at 10:33:01AM -0800, Michael Rubin wrote:
> On Jan 15, 2008 4:36 AM, Fengguang Wu <[EMAIL PROTECTED]> wrote:
> > Andrew,
> >
> > This patchset mainly polishes the writeback queuing policies.
>
> Anyone know which tree is this patched based out
Introduce queue_dirty() to enqueue a newly dirtied inode.
It helps remove duplicate code.
Cc: Michael Rubin <[EMAIL PROTECTED]>
Cc: Peter Zijlstra <[EMAIL PROTECTED]>
Signed-off-by: Fengguang Wu <[EMAIL PROTECTED]>
---
fs/fs-writeback.c | 21 +
1
fs/fs-writeback.c | 121 +++---
fs/super.c |1
include/linux/fs.h |1
mm/page-writeback.c | 46 +++
5 files changed, 72 insertions(+), 99 deletions(-)
Regards,
Fengguang Wu
--
-
To unsubscribe from this list: send the line "u
Convert to requeue_io_wait() for case:
pages skipped due to locked buffers.
Cc: Michael Rubin <[EMAIL PROTECTED]>
Cc: Peter Zijlstra <[EMAIL PROTECTED]>
Signed-off-by: Fengguang Wu <[EMAIL PROTECTED]>
---
fs/fs-writeback.c |2 +-
1 files changed, 1 insert
Remove redirty_tail(). It's no longer used.
Cc: Michael Rubin <[EMAIL PROTECTED]>
Cc: Peter Zijlstra <[EMAIL PROTECTED]>
Signed-off-by: Fengguang Wu <[EMAIL PROTECTED]>
---
fs/fs-writeback.c | 24
1 files changed, 24 deletions(-)
--- linux-mm
Make the if-else straight in __sync_single_inode().
No behavior change.
Cc: Michael Rubin <[EMAIL PROTECTED]>
Cc: Peter Zijlstra <[EMAIL PROTECTED]>
Signed-off-by: Fengguang Wu <[EMAIL PROTECTED]>
---
fs/fs-writeback.c | 15 +++
1 files changed, 7 insertio
igned-off-by: Fengguang Wu <[EMAIL PROTECTED]>
---
fs/fs-writeback.c |2 +-
1 files changed, 1 insertion(+), 1 deletion(-)
--- linux-mm.orig/fs/fs-writeback.c
+++ linux-mm/fs/fs-writeback.c
@@ -294,7 +294,7 @@ __sync_single_inode(struct inode *inode,
* Someone r
Joerg Platte <[EMAIL PROTECTED]>
Signed-off-by: Fengguang Wu <[EMAIL PROTECTED]>
---
fs/buffer.c |2 ++
1 files changed, 2 insertions(+)
Index: linux/fs/buffer.c
===
--- linux.orig/fs/buffer.c
+++ linux/fs/buffer.c
@
Peter Zijlstra <[EMAIL PROTECTED]>
Signed-off-by: Fengguang Wu <[EMAIL PROTECTED]>
---
mm/page-writeback.c | 43 +-
1 files changed, 22 insertions(+), 21 deletions(-)
--- linux-mm.orig/mm/page-writeback.c
+++ linux-mm/mm/page-writeback.c
@@ -543
Replace redirty_tail() with queue_dirty() on memory backed bdi.
It makes no difference - only simpler.
Cc: Michael Rubin <[EMAIL PROTECTED]>
Cc: Peter Zijlstra <[EMAIL PROTECTED]>
Signed-off-by: Fengguang Wu <[EMAIL PROTECTED]>
---
fs/fs-writeback.c |2 +-
1 files changed,
Revert 2e6883bdf49abd0e7f0d9b6297fc3be7ebb2250b.
Signed-off-by: Fengguang Wu <[EMAIL PROTECTED]>
---
fs/fs-writeback.c |2 --
include/linux/writeback.h |1 -
mm/page-writeback.c |9 +++--
3 files changed, 3 insertions(+), 9 deletions(-)
Index: linux-mm/include
Convert to requeue_io_wait() for case:
inode is locked.
Cc: Michael Rubin <[EMAIL PROTECTED]>
Cc: Peter Zijlstra <[EMAIL PROTECTED]>
Signed-off-by: Fengguang Wu <[EMAIL PROTECTED]>
---
fs/fs-writeback.c |7 ++-
1 files changed, 2 insertions(+), 5 deletions(-)
TED]>
Cc: Peter Zijlstra <[EMAIL PROTECTED]>
Signed-off-by: Fengguang Wu <[EMAIL PROTECTED]>
---
fs/fs-writeback.c |6 +-
include
into s_more_io_wait will be served _after_ normal inodes, hence
won't stand in the way of other inodes in the next run.
Cc: Michael Rubin <[EMAIL PROTECTED]>
Cc: Peter Zijlstra <[EMAIL PROTECTED]>
Signed-off-by: Fengguang Wu <[EMAIL PROTECTED]>
---
f
Cc: Peter Zijlstra <[EMAIL PROTECTED]>
Signed-off-by: Fengguang Wu <[EMAIL PROTECTED]>
---
fs/fs-writeback.c | 16 +---
fs/super.c |1 +
include/linux/fs.h |1 +
3 files changed, 15 insertions(+), 3 deletions(-)
--- linux-mm.orig/fs/fs-writeback.c
+++ linux
On Wed, Nov 28, 2007 at 05:10:58PM -0800, Christoph Lameter wrote:
> Use page_cache_xxx in mm/filemap_xip.c
>
> Signed-off-by: Christoph Lameter <[EMAIL PROTECTED]>
> ---
> mm/filemap_xip.c | 28 ++--
> 1 file changed, 14 insertions(+), 14 deletions(-)
>
> Index: mm/mm/
On Wed, Nov 28, 2007 at 05:10:53PM -0800, Christoph Lameter wrote:
> +static inline loff_t page_cache_mask(struct address_space *a)
> +{
> + return (loff_t)PAGE_MASK;
> +}
A tiny question: Why choose loff_t instead of 'unsigned long'?
It's not obvious because page_cache_mask() is not referenc
On Wed, Nov 28, 2007 at 05:11:11PM -0800, Christoph Lameter wrote:
> Use page_cache_xxx in drivers/block/rd.c
>
> Signed-off-by: Christoph Lameter <[EMAIL PROTECTED]>
> ---
> drivers/block/rd.c |8
> 1 file changed, 4 insertions(+), 4 deletions(-)
>
> Index: mm/drivers/block/rd.c
>
] [] sys_close+0x9f/0x100
> [ 632.85] [] system_call+0x7e/0x83
> [ 632.85]
> [ 662.18] mm/page-writeback.c 676 wb_kupdate: pdflush(285) 73045
> global 39157 0 0 wc __ tw 0 sk 0
> [note] emerge resumed
> [ 664.03] SysRq : HELP : loglevel0-8 reBoot tErm Full
On Fri, Nov 02, 2007 at 11:15:32AM +0100, Peter Zijlstra wrote:
> On Fri, 2007-11-02 at 10:21 +0800, Fengguang Wu wrote:
>
> > Interestingly, no background_writeout() appears, but only
> > balance_dirty_pages() and wb_kupdate. Obviously wb_kupdate won't
> > bloc
On Fri, Nov 02, 2007 at 08:42:05AM +0100, Torsten Kaiser wrote:
> The Subject is still missleading, I'm using 2.6.23-mm1.
>
> On 11/2/07, Fengguang Wu <[EMAIL PROTECTED]> wrote:
> > On Thu, Nov 01, 2007 at 07:20:51PM +0100, Torsten Kaiser wrote:
> > > On 11/1
On Thu, Nov 01, 2007 at 08:00:10PM +0100, Torsten Kaiser wrote:
> On 11/1/07, Torsten Kaiser <[EMAIL PROTECTED]> wrote:
> > On 11/1/07, Fengguang Wu <[EMAIL PROTECTED]> wrote:
> > > Thank you. Maybe we can start by the applied debug patch :-)
> >
> >
On Thu, Nov 01, 2007 at 07:20:51PM +0100, Torsten Kaiser wrote:
> On 11/1/07, Fengguang Wu <[EMAIL PROTECTED]> wrote:
> > On Wed, Oct 31, 2007 at 04:22:10PM +0100, Torsten Kaiser wrote:
> > > Since 2.6.23-mm1 I also experience strange hangs during heavy writeouts.
> >
---
> Subject: reiserfs: don't drop PG_dirty when releasing sub-page-sized dirty
> file
> From: Fengguang Wu <[EMAIL PROTECTED]>
>
> This is not a new problem in 2.6.23-git17. 2.6.22/2.6.23 is buggy in the
> same way.
>
> Reiserfs could accumulate dirty sub
On Tue, Oct 23, 2007 at 10:10:53AM -0400, Chris Mason wrote:
> On Tue, 23 Oct 2007 19:56:20 +0800
> Fengguang Wu <[EMAIL PROTECTED]> wrote:
>
> > On Tue, Oct 23, 2007 at 12:07:07PM +0200, Peter Zijlstra wrote:
> > > [ adding reiserfs devs to the CC ]
> >
>
76
cancelled_write_bytes: 4096
//Question: the 'write_bytes' is a bit more than expected ;-)
Cc: Maxim Levitsky <[EMAIL PROTECTED]>
Cc: Peter Zijlstra <[EMAIL PROTECTED]>
Cc: Jeff Mahoney <[EMAIL
On Wed, Aug 29, 2007 at 02:33:08AM +1000, David Chinner wrote:
> On Tue, Aug 28, 2007 at 11:08:20AM -0400, Chris Mason wrote:
> > On Wed, 29 Aug 2007 00:55:30 +1000
> > David Chinner <[EMAIL PROTECTED]> wrote:
> > > On Fri, Aug 24, 2007 at 09:55:04PM +0800, Fengguang
On Thu, Aug 23, 2007 at 12:33:06PM +1000, David Chinner wrote:
> On Wed, Aug 22, 2007 at 09:18:41AM +0800, Fengguang Wu wrote:
> > On Tue, Aug 21, 2007 at 08:23:14PM -0400, Chris Mason wrote:
> > Notes:
> > (1) I'm not sure inode number is correlated to disk location in
On Wed, Aug 22, 2007 at 08:42:01AM -0400, Chris Mason wrote:
> > My vague idea is to
> > - keep the s_io/s_more_io as a FIFO/cyclic writeback dispatching
> > queue.
> > - convert s_dirty to some radix-tree/rbtree based data structure.
> > It would have dual functions: delayed-writeback and
> > cl
On Thu, Aug 23, 2007 at 08:13:41AM -0400, Chris Mason wrote:
> On Thu, 23 Aug 2007 12:47:23 +1000
> David Chinner <[EMAIL PROTECTED]> wrote:
>
> > On Wed, Aug 22, 2007 at 08:42:01AM -0400, Chris Mason wrote:
> > > I think we should assume a full scan of s_dirty is impossible in the
> > > presence
On Tue, Aug 21, 2007 at 08:23:14PM -0400, Chris Mason wrote:
> On Sun, 12 Aug 2007 17:11:20 +0800
> Fengguang Wu <[EMAIL PROTECTED]> wrote:
>
> > Andrew and Ken,
> >
> > Here are some more experiments on the writeback stuff.
> > Comments are highly we
On Mon, Aug 13, 2007 at 06:30:00PM +0800, Fengguang Wu wrote:
> > On Sun, Aug 12, 2007 at 05:11:23PM +0800, Fengguang Wu wrote:
> > > Miklos Szeredi <[EMAIL PROTECTED]> and me identified a writeback bug:
> > > Basicly they are
> > > - during the dd: ~16M
&g
et a chance to look at this for a week...
I guess as long as the skipped page no longer has dirty bit set both
as a page flag and a radix tree tag(i.e. has been put to io by someone
else), it is OK to not increase wbc->pages_skipped.
> On Sun, Aug 12, 2007 at 05:11:23PM +0800, Fengg
From: Andrew Morton <[EMAIL PROTECTED]>
The per-superblock dirty-inode list super_block.s_dirty is supposed to be
sorted in reverse order of each inode's time-of-first-dirtying. This is so
that the kupdate function can avoid having to walk all the dirty inodes on the
list: it terminates the sear
the line
list_splice_init(&sb->s_more_io, &sb->s_io);
is also moved to queue_io(). Otherwise when there are big dirtied files,
s_io never becomes empty, preventing new expired inodes to get in.
Cc: Ken Chen <[EMAIL PROTECTED]>
Cc: Andrew Morton <[EMAIL PROTECTED]>
S
Andrew and Ken,
Here are some more experiments on the writeback stuff.
Comments are highly welcome~
writeback fixes:
[PATCH 1/6] writeback: fix time ordering of the per superblock inode lists 8
[PATCH 2/6] writeback: fix ntfs with sb_has_dirty_inodes()
[PATCH 3/6] writeba
ock_write_full_page() is virtually doing nothing for the whole dirty file.
Isn't it abnormal? Who did the actual write back for us? The jounal? How to fix
it?
Any suggestions? Thank you.
Cc: Ken Chen <[EMAIL PROTECTED]>
Cc: Andrew Morton <[EMAIL PROTECTED]>
Signed-off-by: Fengguang
Just to make the inode list time ordering check logic comfortable.
Otherwise meaningless.
Signed-off-by: Fengguang Wu <[EMAIL PROTECTED]>
---
fs/fs-writeback.c |9 +
1 file changed, 1 insertion(+), 8 deletions(-)
--- linux-2.6.23-rc2-mm2.orig/fs/fs-writeback.c
+++ linux-2.6.
NTFS's if-condition on dirty inodes is not complete.
Fix it with sb_has_dirty_inodes().
Cc: Anton Altaparmakov <[EMAIL PROTECTED]>
Cc: Ken Chen <[EMAIL PROTECTED]>
Cc: Andrew Morton <[EMAIL PROTECTED]>
Signed-off-by: Fengguang Wu <[EMAIL PROTECTED]>
---
-
It helps a lot to know how redirty_tail() are called.
Signed-off-by: Fengguang Wu <[EMAIL PROTECTED]>
---
fs/fs-writeback.c | 10 +-
1 file changed, 9 insertions(+), 1 deletion(-)
--- linux-2.6.23-rc2-mm2.orig/fs/fs-writeback.c
+++ linux-2.6.23-rc2-mm2/fs/fs-writeback.c
@@
On Sat, Aug 11, 2007 at 02:02:02PM +0800, Fengguang Wu wrote:
> Andrew,
>
> Now the patches are simplified and rebased to 2.6.23-rc2-mm2.
>
> The following two patches should be put immediately after
> writeback-fix-periodic-superblock-dirty-inode-flushing.patch:
>
&
Andrew Morton <[EMAIL PROTECTED]>
Signed-off-by: Fengguang Wu <[EMAIL PROTECTED]>
---
fs/fs-writeback.c | 40 ++--
1 file changed, 22 insertions(+), 18 deletions(-)
--- linux-2.6.23-rc2-mm2.orig/fs/fs-writeback.c
+++ linux-2.6.23-rc2-mm2/fs/fs-wri
NTFS's if-condition on dirty inodes is not complete.
Fix it with sb_has_dirty_inodes().
Cc: Anton Altaparmakov <[EMAIL PROTECTED]>
Cc: Ken Chen <[EMAIL PROTECTED]>
Cc: Andrew Morton <[EMAIL PROTECTED]>
Signed-off-by: Fengguang Wu <[EMAIL PROTECTED]>
---
-
Andrew,
Now the patches are simplified and rebased to 2.6.23-rc2-mm2.
The following two patches should be put immediately after
writeback-fix-periodic-superblock-dirty-inode-flushing.patch:
writeback: fix time ordering of the per superblock inode lists 8
writeback: fix ntfs with sb_has_dirt
On Sat, Aug 11, 2007 at 12:47:15AM +0800, Fengguang Wu wrote:
> In fact s_more_io is no longer necessary. We end up with a priority
Ah sorry, s_more_io is still needed to keep the time-ordering. I was
thinking of schedule fairness, in which sense only one cyclic list
will be sufficient.
-
On Fri, Aug 10, 2007 at 02:34:14PM +0800, Fengguang Wu wrote:
> Properly manage the 3 queues of sb->s_dirty/s_io/s_more_io so that
> - time-ordering of dirtied_when can be easily maintained
> - writeback can continue from where previous run left out
>
> The majority
s never changed in other cases.
- time-ordering thus can be simply ensured while moving inodes between lists,
since (time order == enqueue order)
Cc: Ken Chen <[EMAIL PROTECTED]>
Cc: Andrew Morton <[EMAIL PROTECTED]>
Signed-off-by: Fengguang Wu <[EM
Two function renames:
- rename redirty_tail() to queue_dirty_inode()
- rename requeue_io() to queue_for_more_io()
Also some code cleanups on fs-writeback.c. No behavior changes.
Cc: Ken Chen <[EMAIL PROTECTED]>
Cc: Andrew Morton <[EMAIL PROTECTED]>
Signed-off-by:
gt;
Cc: Andrew Morton <[EMAIL PROTECTED]>
Signed-off-by: Fengguang Wu <[EMAIL PROTECTED]>
---
fs/fs-writeback.c | 37 +++--
1 file changed, 31 insertions(+), 6 deletions(-)
--- linux-2.6.23-rc1-mm2.orig/fs/fs-writeback.c
+++ linux-2.6.23-rc1-mm2/f
NTFS's if-condition on dirty inodes is not complete.
Fix it with sb_has_dirty_inodes().
Cc: Anton Altaparmakov <[EMAIL PROTECTED]>
Cc: Ken Chen <[EMAIL PROTECTED]>
Cc: Andrew Morton <[EMAIL PROTECTED]>
Signed-off-by: Fengguang Wu <[EMAIL PROTECTED]>
---
--- linu
Andrew,
I'd like to propose a cleaner way of using the s_dirty, s_io, s_more_io
queues for the writeback of dirty inodes. The basic idea is to clearly
define the function of the queues, especially to decouple s_diry from
s_io/s_more_io. The details are in the changelog of patch 2.
The patches ar
On Fri, Feb 02, 2007 at 03:52:32PM -0800, Andrew Morton wrote:
> Bugfixes come first, so I will drop readahead and fsaio and git-block to get
> this work completed if needed - please work agaisnt mainline.
OK with readahead.
There are too much fixes in the series. I'd like to fold them up and
up
55 matches
Mail list logo