From: Chris Mason Subject: Re: [PATCH updated] ext4: Fix file fragmentation during large file write. Date: Wed, 15 Oct 2008 19:51:32 -0400 Message-ID: <1224114692.6938.48.camel@think.oraclecorp.com> References: <1223661776-20098-1-git-send-email-aneesh.kumar@linux.vnet.ibm.com> <1224103260.6938.45.camel@think.oraclecorp.com> Mime-Version: 1.0 Content-Type: text/plain Content-Transfer-Encoding: 7bit Cc: cmm@us.ibm.com, tytso@mit.edu, sandeen@redhat.com, akpm@linux-foundation.org, hch@infradead.org, steve@chygwyn.com, npiggin@suse.de, mpatocka@redhat.com, linux-mm@kvack.org, inux-fsdevel@vger.kernel.org, linux-ext4@vger.kernel.org To: "Aneesh Kumar K.V" Return-path: In-Reply-To: <1224103260.6938.45.camel@think.oraclecorp.com> Sender: owner-linux-mm@kvack.org List-Id: linux-ext4.vger.kernel.org On Wed, 2008-10-15 at 16:41 -0400, Chris Mason wrote: > On Fri, 2008-10-10 at 23:32 +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. > > > > I tested the ext4 patch queue from today on top of 2.6.27, and this > includes Aneesh's latest patches. > > Things are going at disk speed for streaming writes, with the number of > extents generated for a 32GB file down to 27. So, this is definitely an > improvement for ext4. Just FYI, I ran this with compilebench -i 20 --makej and my log is full of these: ext4_da_writepages: jbd2_start: 1024 pages, ino 520417; err -30 Pid: 4072, comm: pdflush Not tainted 2.6.27 #2 Call Trace: [] ext4_da_writepages+0x171/0x2d3 [ext4] [] ? pick_next_task_fair+0x80/0x91 [] ? source_load+0x2a/0x58 [] ? __next_cpu+0x19/0x26 [] do_writepages+0x28/0x37 [] __writeback_single_inode+0x14f/0x26d [] generic_sync_sb_inodes+0x1c1/0x2a2 [] sync_sb_inodes+0x9/0xb [] writeback_inodes+0x64/0xad [] wb_kupdate+0x9a/0x10c [] ? pdflush+0x0/0x1e9 [] ? pdflush+0x0/0x1e9 [] pdflush+0x13d/0x1e9 [] ? wb_kupdate+0x0/0x10c [] kthread+0x49/0x77 [] child_rip+0xa/0x11 [] ? kthread+0x0/0x77 [] ? child_rip+0x0/0x11 -- 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: email@kvack.org