From: Ric Wheeler <rwheeler@redhat.com>
To: Andreas Dilger <adilger@sun.com>
Cc: Theodore Tso <tytso@mit.edu>,
Christian Fischer <Christian.Fischer@easterngraphics.com>,
linux-ext4@vger.kernel.org
Subject: Re: Enable asynchronous commits by default patch revoked?
Date: Mon, 24 Aug 2009 14:37:46 -0400 [thread overview]
Message-ID: <4A92DDFA.1040906@redhat.com> (raw)
In-Reply-To: <20090824183119.GI5931@webber.adilger.int>
Andreas Dilger wrote:
> On Aug 24, 2009 09:34 -0400, Theodore Ts'o wrote:
>
>> On Mon, Aug 24, 2009 at 10:33:10AM +0200, Christian Fischer wrote:
>>
>>> I try to figure out reasonable mount options for ext4.
>>>
>>> I've seen a "Enable asynchronous commits by default" patch from Sun, 21 Sep
>>> 2008.
>>>
>>> Why is it revoked?
>>>
>> It patch was never merged because the ayschronous commits feature
>> disabled all write barriers, so under heavy workloads a power failure
>> could cause data loss.
>>
>> No one has gotten around to looking at this closely; I think adding a
>> strategically placed blkdev_issue_flush() will allow us to safely
>> enable this feature, but it needs careful study.
>>
>
> I don't think that was the issue, but rather that we wanted to have
> per-block checksums in order to handle the case were some block in
> transaction A is causing a transaction checksum failure, yet transaction
> B has already committed and begun checkpointing.
>
> One option discussed was to add a lightweight 16-bit checksum (e.g. TCP
> checksum) to the high bits of the t_flags of the block tag. The checksum
> doesn't have to be very strong since the whole-transaction checksum will
> be the primary point of validation.
>
> Cheers, Andreas
> --
> Andreas Dilger
> Sr. Staff Engineer, Lustre Group
> Sun Microsystems of Canada, Inc.
>
>
I still don't trust the logic. Seems like a very complex (and really
non-intuitive - async and commit, really?) thing to support for a
marginal performance impact. Any blkdev_issue_flush() call would dwarf
the advantage of the async bit of the commit.
If we are looking to better support workloads that suffer from
journalling, I suspect that we have more natural ways to do that...
ric
next prev parent reply other threads:[~2009-08-24 18:37 UTC|newest]
Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <200908241033.10527.Christian.Fischer@easterngraphics.com>
2009-08-24 13:34 ` Enable asynchronous commits by default patch revoked? Theodore Tso
2009-08-24 18:31 ` Andreas Dilger
2009-08-24 18:37 ` Ric Wheeler [this message]
2009-08-24 20:10 ` Theodore Tso
2009-08-24 20:28 ` Ric Wheeler
2009-08-24 22:07 ` Theodore Tso
2009-08-24 22:12 ` Ric Wheeler
2009-08-24 23:28 ` Theodore Tso
2009-08-24 23:43 ` Andreas Dilger
2009-08-25 0:15 ` Theodore Tso
2009-08-25 17:52 ` Andreas Dilger
2009-08-25 18:07 ` Ric Wheeler
2009-08-25 21:11 ` Theodore Tso
2009-08-26 9:50 ` Andreas Dilger
2009-08-26 13:14 ` Theodore Tso
2009-08-26 22:00 ` Andreas Dilger
2009-08-26 22:55 ` Theodore Tso
2009-08-25 18:21 ` Ric Wheeler
2009-08-26 16:02 ` Jan Kara
2009-08-24 22:46 ` Andreas Dilger
2009-08-24 23:52 ` Theodore Tso
2009-09-02 14:48 ` Tom Vier
2009-09-02 15:03 ` Theodore Tso
2009-08-24 21:28 ` Andreas Dilger
2009-08-25 6:16 ` Christian Fischer
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=4A92DDFA.1040906@redhat.com \
--to=rwheeler@redhat.com \
--cc=Christian.Fischer@easterngraphics.com \
--cc=adilger@sun.com \
--cc=linux-ext4@vger.kernel.org \
--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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.