Messages in this thread | | | Subject | Re: ext4-mm-delalloc-ext4-lock-reverse-fix | From | Mingming Cao <> | Date | Mon, 19 May 2008 10:54:50 -0700 |
| |
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
| |