From: "Aneesh Kumar K.V" <aneesh.kumar@linux.vnet.ibm.com>
To: Nick Piggin <npiggin@suse.de>
Cc: cmm@us.ibm.com, tytso@mit.edu, sandeen@redhat.com,
chris.mason@oracle.com, akpm@linux-foundation.org,
hch@infradead.org, steve@chygwyn.com, mpatocka@redhat.com,
linux-mm@kvack.org, inux-fsdevel@vger.kernel.org,
linux-ext4@vger.kernel.org
Subject: Re: [PATCH updated] ext4: Fix file fragmentation during large file write.
Date: Sat, 11 Oct 2008 23:44:26 +0530 [thread overview]
Message-ID: <20081011181426.GB9662@skywalker> (raw)
In-Reply-To: <20081011105152.GB29681@wotan.suse.de>
On Sat, Oct 11, 2008 at 12:51:52PM +0200, Nick Piggin wrote:
> On Fri, Oct 10, 2008 at 11:32:56PM +0530, Aneesh Kumar K.V wrote:
> > The range_cyclic writeback mode use the address_space
> > writeback_index as the start index for writeback. With
> > delayed allocation we were updating writeback_index
> > wrongly resulting in highly fragmented file. Number of
> > extents reduced from 4000 to 27 for a 3GB file with
> > the below patch.
> >
> > The patch also removes the range_cont writeback mode
> > added for ext4 delayed allocation. Instead we add
> > two new flags in writeback_control which control
> > the behaviour of write_cache_pages.
>
> The mm/page-writeback.c changes look OK, although it loks like you've
> got rid of range_cont? Should we do a patch to get rid of it entirely
> from the tree first?
>
> I don't mind rediffing my patchset on top of this, but this seems smaller
> and not strictly a bugfix so I would prefer to go the other way if you
> agree.
>
> Seems like it could be broken up into several patches (eg. pagevec_lookup).
>
> The results look very nice.
I actually tried to do that. But to do that and also achieve a working
bisect kernel, I will have to do the patches in below way
a) Introduce ext4_write_cache_pages
b) remove range_cont from write_cache_pages
c) Introduce the new flags to writeback_control
d) switch ext4 to use write_cache_pages.
I thought that involved lot of code which are later getting removed.
So i went for a single patch.
-aneesh
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org. For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>
next prev parent reply other threads:[~2008-10-11 18:14 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-10-10 18:02 Aneesh Kumar K.V
2008-10-10 18:12 ` Aneesh Kumar K.V
2008-10-10 18:12 ` Aneesh Kumar K.V
2008-10-10 19:15 ` Chris Mason
2008-10-11 10:51 ` Nick Piggin
2008-10-11 18:14 ` Aneesh Kumar K.V [this message]
2008-10-11 19:07 ` Aneesh Kumar K.V
2008-10-15 20:41 ` Chris Mason
2008-10-15 23:51 ` Chris Mason
2008-10-16 2:41 ` Theodore Tso
2008-10-16 2:44 ` Andreas Dilger
2008-10-16 7:50 ` Aneesh Kumar K.V
2008-10-16 9:10 ` Aneesh Kumar K.V
2008-10-16 11:13 ` Aneesh Kumar K.V
-- strict thread matches above, loose matches on Subject: below --
2008-10-10 18:02 Aneesh Kumar K.V
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=20081011181426.GB9662@skywalker \
--to=aneesh.kumar@linux.vnet.ibm.com \
--cc=akpm@linux-foundation.org \
--cc=chris.mason@oracle.com \
--cc=cmm@us.ibm.com \
--cc=hch@infradead.org \
--cc=inux-fsdevel@vger.kernel.org \
--cc=linux-ext4@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=mpatocka@redhat.com \
--cc=npiggin@suse.de \
--cc=sandeen@redhat.com \
--cc=steve@chygwyn.com \
--cc=tytso@mit.edu \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox