lkml.org 
[lkml]   [2006]   [Feb]   [6]   [last100]   RSS Feed
Views: [more markup]  [less markup]  [headers]  [forward] 
 
Messages in this thread
/
DateMon, 6 Feb 2006 17:04:11 -0800
FromAndrew Morton <>
SubjectRe: [PATCH] Prevent large file writeback starvation
David Chinner <dgc@sgi.com> wrote:
>
> > So to fix both these problems we need to be smarter about terminating the
> > wb_kupdate() loop.  Something like "loop until no expired inodes have been
> > written".
> > 
> > Wildly untested patch:
> 
> Wildly untested assertion - it won't fix my case for the same reason I'm seeing
> the current code not working - we abort higher up in writeback_inodes()
> on the age check.

You mean that we're in the state

a) big-dirty-expired inode is on s_dirty

b) small-dirty-not-expired inode is on s_io

sync_sb_inodes() sees the small-dirty-not-expired inode on s_io and gives up?


In which case, yes, perhaps leaving big-dirty-expired inode on s_io is the
right thing to do.  But should we be checking that it has expired before
deciding to do this?  We don't want to get in a situation where continuous
overwriting of a large file causes other files on that fs to never be
written out.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2006-02-07 02:04    [from the cache]
©2003-2008