From: Chris Mason <mason@suse.com>
To: James Bottomley <James.Bottomley@steeleye.com>,
"Stephen C. Tweedie" <sct@redhat.com>
Cc: linux-kernel@vger.kernel.org
Subject: Re: [PATCH] 2.4.x write barriers (updated for ext3)
Date: Fri, 22 Feb 2002 13:14:21 -0500 [thread overview]
Message-ID: <1064010000.1014401661@tiny> (raw)
In-Reply-To: <200202221736.g1MHaMc04473@localhost.localdomain>
In-Reply-To: <200202221736.g1MHaMc04473@localhost.localdomain>
On Friday, February 22, 2002 12:36:22 PM -0500 James Bottomley <James.Bottomley@steeleye.com> wrote:
> sct@redhat.com said:
>> There is a get-out for ext3 --- we can submit new journal IOs without
>> waiting for the commit IO to complete, but hold back on writeback IOs.
>> That still has the desired advantage of allowing us to stream to the
>> journal, but only requires that the commit block be ordered with
>> respect to older, not newer, IOs. That gives us most of the benefits
>> of tagged queuing without any problems in your scenario.
>
> Actually, I intended the tagged queueing discussion to be discouraging.
;-)
> The
> amount of work that would have to be done to implement it is huge, touching,
> as it does, every low level driver's interrupt routine. For the drivers that
> require scripting changes to the chip engine, it's even worse: only someone
> with specialised knowledge can actually make the changes.
>
> It's feasible, but I think we'd have to demonstrate some quite significant
> performance or other improvements before changes on this scale would fly.
Very true. At best, we pick one card we know it could work on, and
one target that we know is smart about tags, and try to demonstrate
the improvement.
>
> Neither of you commented on the original suggestion. What I was wondering is
> if we could benchmark (or preferably improve on) it:
>
> James.Bottomley@SteelEye.com said:
>> The easy way out of the problem, I think, is to impose the barrier as
>> an effective queue plug in the SCSI mid-layer, so that after the
>> mid-layer recevies the barrier, it plugs the device queue from below,
>> drains the drive tag queue, sends the barrier and unplugs the device
>> queue on barrier I/O completion.
The main way the barriers could help performance is by allowing the
drive to write all the transaction and commit blocks at once. Your
idea increases the chance the drive heads will still be correctly
positioned to write the commit block, but doesn't let the drive
stream things better.
The big advantage to using wait_on_buffer() instead is that it doesn't
order against data writes at all (from bdflush, or some other proc
other than a commit), allowing the drive to optimize those
at the same time it is writing the commit. Using ordered tags has the
same problem, it might just be that wait_on_buffer is the best way to
go.
-chris
next prev parent reply other threads:[~2002-02-22 18:15 UTC|newest]
Thread overview: 73+ messages / expand[flat|nested] mbox.gz Atom feed top
2002-02-22 15:57 [PATCH] 2.4.x write barriers (updated for ext3) James Bottomley
2002-02-22 16:10 ` Chris Mason
2002-02-22 16:13 ` Stephen C. Tweedie
2002-02-22 17:36 ` James Bottomley
2002-02-22 18:14 ` Chris Mason [this message]
2002-02-28 15:36 ` James Bottomley
2002-02-28 15:55 ` Chris Mason
2002-02-28 17:58 ` Mike Anderson
2002-02-28 18:12 ` Chris Mason
2002-03-01 2:08 ` James Bottomley
2002-03-03 22:11 ` Daniel Phillips
2002-03-04 3:34 ` Chris Mason
2002-03-04 5:05 ` Daniel Phillips
2002-03-04 15:03 ` James Bottomley
2002-03-04 17:04 ` Stephen C. Tweedie
2002-03-04 17:16 ` Chris Mason
2002-03-04 18:05 ` Stephen C. Tweedie
2002-03-04 18:28 ` James Bottomley
2002-03-04 19:55 ` Stephen C. Tweedie
2002-03-04 19:48 ` Daniel Phillips
2002-03-04 19:57 ` Stephen C. Tweedie
2002-03-04 21:06 ` Daniel Phillips
2002-03-05 14:58 ` Stephen C. Tweedie
2002-03-05 7:48 ` Jens Axboe
2002-03-04 19:51 ` Daniel Phillips
2002-03-05 7:42 ` Jens Axboe
2002-03-04 17:35 ` James Bottomley
2002-03-04 17:48 ` Chris Mason
2002-03-04 18:11 ` James Bottomley
2002-03-04 18:41 ` Chris Mason
2002-03-04 21:34 ` Stephen C. Tweedie
2002-03-04 18:09 ` Stephen C. Tweedie
2002-03-04 8:19 ` Helge Hafting
2002-03-04 14:57 ` James Bottomley
2002-03-04 17:24 ` Chris Mason
2002-03-04 19:02 ` Daniel Phillips
2002-03-05 7:22 ` Jeremy Higdon
2002-03-05 23:01 ` Daniel Phillips
2002-03-04 4:21 ` Jeremy Higdon
2002-03-04 5:31 ` Daniel Phillips
2002-03-04 6:09 ` Jeremy Higdon
2002-03-04 7:57 ` Daniel Phillips
2002-03-05 7:09 ` Jeremy Higdon
2002-03-05 22:56 ` Daniel Phillips
2002-03-04 16:52 ` Stephen C. Tweedie
2002-03-04 18:15 ` Daniel Phillips
2002-03-05 7:40 ` Jens Axboe
2002-03-05 22:29 ` Daniel Phillips
2002-03-12 7:01 ` Jens Axboe
2002-03-10 5:24 ` Douglas Gilbert
2002-03-11 11:13 ` Kurt Garloff
2002-03-12 1:17 ` GOTO Masanori
2002-03-12 6:58 ` Jens Axboe
2002-03-13 22:37 ` Peter Osterlund
2002-03-11 11:34 ` Stephen C. Tweedie
2002-03-11 17:15 ` James Bottomley
2002-03-04 14:48 ` James Bottomley
2002-03-06 13:59 ` Daniel Phillips
2002-03-06 14:34 ` James Bottomley
2002-02-25 10:57 ` Helge Hafting
2002-02-25 15:04 ` James Bottomley
-- strict thread matches above, loose matches on Subject: below --
2002-03-01 15:26 Dieter Nützel
2002-03-01 16:00 ` James Bottomley
2002-02-21 23:30 Chris Mason
2002-02-22 14:19 ` Stephen C. Tweedie
2002-02-22 15:26 ` Chris Mason
2002-01-10 9:55 [ANNOUNCE] FUSE: Filesystem in Userspace 0.95 Miklos Szeredi
2002-01-13 3:10 ` Pavel Machek
2002-01-21 10:18 ` Miklos Szeredi
2002-01-23 10:47 ` Pavel Machek
2002-01-22 19:07 ` Daniel Phillips
2002-01-23 2:33 ` [Avfs] " Justin Mason
2002-01-23 5:26 ` Daniel Phillips
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=1064010000.1014401661@tiny \
--to=mason@suse.com \
--cc=James.Bottomley@steeleye.com \
--cc=linux-kernel@vger.kernel.org \
--cc=sct@redhat.com \
/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