lkml.org 
[lkml]   [2008]   [May]   [19]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: ext4-mm-delalloc-ext4-lock-reverse-fix
From
Date
On Mon, 2008-05-19 at 17:24 +0200, Jiri Slaby wrote:
> Andrew Morton <akpm@linux-foundation.org> wrote:
> > On Mon, 19 May 2008 15:15:09 +0800 "Dave Young" <hidave.darkstar@gmail.com> wrote:
> >
> > > Hi,
> > >
> > > With 2.6.26-rc2-mm1 I need to sync frequently. It's not normal as my
> > > understanding.
> > >
> > > 1. scp a big file from a lan server. Firstly the speed is about 8M/s,
> > > but the speed will slow down to 100K/s at last. After I exec "sync",
> > > the speed will restore.
> > >
> > > Is this a known issue?
> > >
> >
> > Yes, probably related to the "mkfs takes forever" problem. I haven't
> > looked into it yet. Nor has anyone else afaik.
>
> Absolutely not sure what this breaks in ext4, but fixes the problem for me:
> ---
> mm/page-writeback.c | 2 +-
> 1 files changed, 1 insertions(+), 1 deletions(-)
>
> diff --git a/mm/page-writeback.c b/mm/page-writeback.c
> index 040bc7c..789b6ad 100644
> --- a/mm/page-writeback.c
> +++ b/mm/page-writeback.c
> @@ -881,7 +881,7 @@ int write_cache_pages(struct address_space *mapping,
> pagevec_init(&pvec, 0);
> if (wbc->range_cyclic) {
> index = mapping->writeback_index; /* Start from prev offset */
> - end = wbc->range_end >> PAGE_CACHE_SHIFT;
> + end = -1;
> } else {
> index = wbc->range_start >> PAGE_CACHE_SHIFT;
> end = wbc->range_end >> PAGE_CACHE_SHIFT;

Thanks, the patch does fixed the regression .

In the delalloc-ext4-lock-reverse.patch. It wants the
write_cache_pages() to do incremental writeout within the reserved
journal credits in case of delalyed allocation(turns on cyclic mode and
remembers starts from writeback_index). If the writeout caller sets the
range_end, it should not flushing to the end of the file in the case of
range_cyclic mode. The patch above fix the regression but makes possible
that we write too much.


I'd say drop the delalloc-ext4-lock-reverse.patch for now, will re-think
of the delayed allocation support for page-journal-lock reserve method.

Mingming









\
 
 \ /
  Last update: 2008-05-19 19:57    [W:0.074 / U:0.084 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site