[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <1238413462.30488.0.camel@think.oraclecorp.com>
Date: Mon, 30 Mar 2009 07:44:22 -0400
From: Chris Mason <chris.mason@...cle.com>
To: "Aneesh Kumar K.V" <aneesh.kumar@...ux.vnet.ibm.com>
Cc: Theodore Tso <tytso@....edu>, Ric Wheeler <rwheeler@...hat.com>,
Linux Kernel Developers List <linux-kernel@...r.kernel.org>,
Ext4 Developers List <linux-ext4@...r.kernel.org>,
jack@...e.cz
Subject: Re: [PATCH 0/3] Ext3 latency improvement patches
On Mon, 2009-03-30 at 16:53 +0530, Aneesh Kumar K.V wrote:
> On Fri, Mar 27, 2009 at 05:30:52PM -0400, Theodore Tso wrote:
> > On Fri, Mar 27, 2009 at 05:03:38PM -0400, Chris Mason wrote:
> > > > Ric had asked me about a test program that would show the worst case
> > > > ext3 behavior. So I've modified your ext3 program a little. It now
> > > > creates a 8G file and forks off another proc to do random IO to that
> > > > file.
> > > >
> > >
> > > My understanding of ext4 delalloc is that once blocks are allocated to
> > > file, we go back to data=ordered.
> >
> > Yes, that's correct.
> >
> > > Ext4 is going pretty slowly for this fsync test (slower than ext3), it
> > > looks like we're going for a very long time in
> > > jbd2_journal_commit_transaction -> write_cache_pages.
> >
> > One of the things that we can do to optimize this case for ext4 (and
> > ext3) is that if block has already been written out to disk once, we
> > don't have to flush it to disk a second time. So if we add a new
> > buffer_head flag which can distinguish between blocks that have been
> > newly allocated (and not yet been flushed to disk) versus blocks that
> > have already been flushed to disk at least once, we wouldn't need to
> > force I/O for blocks in the latter case.
>
> write_cache_pages should only look at pages which are marked dirty right
> ?. So why are we writing these pages again and again ?
The test program is constantly creating new dirty pages to random
offsets on the disk ;)
-chris
--
To unsubscribe from this list: send the line "unsubscribe linux-ext4" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists