From: Jeff Garzik <jgarzik@pobox.com>
To: "Eric D. Mudama" <edmudama@mail.bounceswoosh.org>
Cc: Jens Axboe <axboe@suse.de>,
linux-kernel@vger.kernel.org,
Bartlomiej Zolnierkiewicz <B.Zolnierkiewicz@elka.pw.edu.pl>,
Ed Tomlinson <edt@aei.ca>, Andrew Morton <akpm@osdl.org>
Subject: Re: flush cache range proposal (was Re: ide errors in 7-rc1-mm1 and later)
Date: Fri, 11 Jun 2004 12:31:59 -0400 [thread overview]
Message-ID: <40C9DE7F.8040002@pobox.com> (raw)
In-Reply-To: <20040611161701.GB11095@bounceswoosh.org>
Eric D. Mudama wrote:
> On Fri, Jun 11 at 9:55, Jens Axboe wrote:
>
>> Proposal looks fine, but please lets not forget that flush cache range
>> is really a band-aid because we don't have a proper ordered write in the
>> first place. Personally, I'd much rather see that implemented than flush
>> cache range. It would be way more effective.
>
>
> So something like:
>
> WRITE FIRST PARTY DMA QUEUED BARRIER EXT
> READ FIRST PARTY DMA QUEUED BARRIER EXT
> READ DMA QUEUED BARRIER EXT
> READ DMA QUEUED BARRIER
> WRITE DMA QUEUED BARRIER
> WRITE DMA QUEUED BARRIER EXT
Honestly, Linux at least isn't going to care about "legacy TCQ" at all,
unless in the very rare case that the controller implements TCQ support
in hardware.
The overall difficulty with implementing atomic updates, journalling,
barriers etc. on ATA is that traditionally the OS had no clue what was
in the write cache, and what was actually on the platter.
Thus, I think that an FPDMA queued FUA read/write should be all that's
needed, since that automatically gives the OS the knowledge of ordering,
which gives barriers what they need. Ordering need only be a matter of
waiting for the hardware queue (all FUA commands) to drain, and then
issuing an FUA commit block.
Unfortunately, that's not the answer drive guys want to hear, because
FUA limits the optimization potential from previous ATA. ;-) Maybe
drive performance is high enough these days that queued-FUA as a
standard mode of operation is tolerable...
> ...
>
> If the drive receives a queued barrier write (NCQ or Legacy), it will
> finish processing all previously-received queued commands and post
> good status for them, then it will process the barrier operation, post
> status for that barrier operation, then it will continue processing
> queued commands in the order received.
If queued-FUA is out of the question, this seems quite reasonable. It
appears to achieve the commit-block semantics described for barrier
operation, AFAICS.
Jeff
next prev parent reply other threads:[~2004-06-11 16:37 UTC|newest]
Thread overview: 66+ messages / expand[flat|nested] mbox.gz Atom feed top
2004-05-27 20:24 [2.6.7-rc1-mm1] cant mount reiserfs using -o barrier=flush Günther Persoons
2004-05-27 23:28 ` Ed Tomlinson
2004-05-28 11:54 ` Gunther Persoons
2004-05-28 12:18 ` Jens Axboe
2004-05-28 21:39 ` Ed Tomlinson
2004-05-29 8:30 ` Jens Axboe
2004-06-04 2:07 ` ide errors in 7-rc1-mm1 and later Ed Tomlinson
2004-06-04 2:31 ` Andrew Morton
2004-06-04 9:42 ` Jens Axboe
2004-06-04 11:22 ` Ed Tomlinson
2004-06-04 11:32 ` Jens Axboe
2004-06-04 11:45 ` Jens Axboe
2004-06-04 11:57 ` Bartlomiej Zolnierkiewicz
2004-06-04 12:01 ` Jens Axboe
2004-06-04 12:38 ` Bartlomiej Zolnierkiewicz
2004-06-04 12:47 ` Jens Axboe
2004-06-04 13:34 ` Bartlomiej Zolnierkiewicz
2004-06-04 15:23 ` Jens Axboe
2004-06-04 16:14 ` Bartlomiej Zolnierkiewicz
2004-06-05 9:18 ` Jens Axboe
2004-06-09 21:52 ` Bartlomiej Zolnierkiewicz
2004-06-09 22:06 ` Andrew Morton
2004-06-09 23:38 ` Bartlomiej Zolnierkiewicz
2004-06-09 23:50 ` Andrew Morton
2004-06-10 0:20 ` Bartlomiej Zolnierkiewicz
2004-06-10 0:37 ` Andrew Morton
2004-06-10 1:02 ` Bartlomiej Zolnierkiewicz
2004-06-10 0:28 ` Chris Mason
2004-06-10 0:38 ` Andrew Morton
2004-06-10 0:45 ` Bartlomiej Zolnierkiewicz
2004-06-10 15:14 ` Chris Mason
2004-06-10 15:15 ` Jens Axboe
2004-06-10 1:05 ` Bartlomiej Zolnierkiewicz
2004-06-10 6:27 ` Jens Axboe
2004-06-10 6:26 ` Jens Axboe
2004-06-04 17:29 ` Jeff Garzik
2004-06-05 9:24 ` Jens Axboe
2004-06-06 16:18 ` Eric D. Mudama
2004-06-06 20:46 ` Jens Axboe
2004-06-10 0:38 ` Bartlomiej Zolnierkiewicz
2004-06-10 6:11 ` Jens Axboe
2004-06-10 16:41 ` Eric D. Mudama
2004-06-10 17:50 ` flush cache range proposal (was Re: ide errors in 7-rc1-mm1 and later) Jeff Garzik
2004-06-10 18:02 ` Jeff Garzik
2004-06-10 20:33 ` Eric D. Mudama
2004-06-11 16:22 ` Jeff Garzik
2004-06-11 7:55 ` Jens Axboe
2004-06-11 16:17 ` Eric D. Mudama
2004-06-11 16:31 ` Jeff Garzik [this message]
2004-06-11 16:52 ` Eric D. Mudama
2004-06-11 16:58 ` Jens Axboe
2004-06-11 16:54 ` Jens Axboe
2004-06-11 16:50 ` Jens Axboe
2004-06-11 16:24 ` Jeff Garzik
2004-06-11 6:10 ` Stuart Young
2004-06-26 8:31 ` ide errors in 7-rc1-mm1 and later Andre Hedrick
2004-06-26 8:58 ` Andre Hedrick
2004-06-28 18:18 ` Eric D. Mudama
2004-07-02 8:29 ` Jens Axboe
2004-07-07 5:40 ` Jeff Garzik
2004-06-04 11:48 ` Bartlomiej Zolnierkiewicz
2004-06-09 23:44 ` Ed Tomlinson
2004-06-09 23:52 ` Andrew Morton
2004-06-10 0:17 ` Ed Tomlinson
2004-06-10 6:29 ` Jens Axboe
2004-06-14 21:42 ` Ed Tomlinson
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=40C9DE7F.8040002@pobox.com \
--to=jgarzik@pobox.com \
--cc=B.Zolnierkiewicz@elka.pw.edu.pl \
--cc=akpm@osdl.org \
--cc=axboe@suse.de \
--cc=edmudama@mail.bounceswoosh.org \
--cc=edt@aei.ca \
--cc=linux-kernel@vger.kernel.org \
/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