From: Daniel Phillips <phillips@arcor.de>
To: Nick Piggin <piggin@cyberone.com.au>
Cc: Jens Axboe <axboe@suse.de>, Linux Kernel <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH] ide write barrier support
Date: Sun, 26 Oct 2003 23:06:53 +0200 [thread overview]
Message-ID: <200310262206.53904.phillips@arcor.de> (raw)
In-Reply-To: <3F986276.4010409@cyberone.com.au>
On Friday 24 October 2003 01:21, Nick Piggin wrote:
> Daniel Phillips wrote:
> > To keep the downstream queues full, we must submit write barriers to all
> > the downstream devices and not wait for completion. That is, as soon as
> > a barrier is issued to a given downstream device we can start passing
> > through post-barrier writes to it.
> >
> > Assuming this is worth doing, how do we issue N barriers to the downstream
> > devices when we have only one incoming barrier write?
>
> You would do this in the multipath code, wouldn't you?
Not entirely within the multipath virtual device, that's the problem. If it
could stay somehow all within one device driver then ok, but since we want to
build this modularly, as a device mapper target, there are API issues.
> Anyway, I might be missing something, but I don't think draining the
> queue will guarantee that writeback caches will go to permanent storage.
We moved on from the IDE writeback problem a while back, this is about SCSI
multipath, and the idea is to keep the SCSI device queues full so that
barrier requests can flow through instead of stalling.
To be honest, after poring through the SCSI docs I'm not sure whether SCSI
supports the behavior I want, which is for dma transfers on post-barrier
requests to run in parallel with media transfers of pre-barrier requests.
With SCSI there are two mechanisms that could be used to implement barriers,
ordered commands and task lists; patches posted to date use the first method.
The ordered method sets an attribute on a SCSI write command that says "must
be executed in order submitted" implying that all previously submitted
commands have to finish before the ordered command begins to execute. (Note,
this is not necessarily optimal if the barrier is just supposed to separate
two groups of writes and the order within the second group doesn't matter.
Also, it implements a stronger barrier than just read/write, so reads will be
blocked as well.) What is not clear to me is whether or not the drive is
allowed to read the buffer into its cache before the ordered command becomes
active. I'd appreciate comments from any SCSI gurus that happen to be
reading.
Regards,
Daniel
next prev parent reply other threads:[~2003-10-26 21:00 UTC|newest]
Thread overview: 39+ messages / expand[flat|nested] mbox.gz Atom feed top
2003-10-13 14:08 [PATCH] ide write barrier support Jens Axboe
2003-10-13 15:23 ` Jeff Garzik
2003-10-13 15:35 ` Jens Axboe
2003-10-13 15:37 ` Jens Axboe
2003-10-13 22:39 ` Matthias Andree
2003-10-14 0:16 ` Jeff Garzik
2003-10-16 10:36 ` Jens Axboe
2003-10-16 10:46 ` Jeff Garzik
2003-10-16 10:48 ` Jens Axboe
2003-10-13 23:07 ` Andrew Morton
2003-10-14 6:48 ` Jens Axboe
2003-10-15 3:40 ` Greg Stark
2003-10-16 7:10 ` Jens Axboe
2003-10-20 17:10 ` Daniel Phillips
2003-10-20 19:56 ` Jens Axboe
2003-10-20 23:46 ` Daniel Phillips
2003-10-21 5:40 ` Jens Axboe
2003-10-23 16:22 ` Daniel Phillips
2003-10-23 16:23 ` Jens Axboe
2003-10-23 17:20 ` Daniel Phillips
2003-10-23 23:21 ` Nick Piggin
2003-10-26 21:06 ` Daniel Phillips [this message]
2003-10-27 10:29 ` Lars Marowsky-Bree
2003-10-27 21:35 ` Daniel Phillips
2003-10-24 9:36 ` Helge Hafting
2003-10-26 15:38 ` Daniel Phillips
-- strict thread matches above, loose matches on Subject: below --
2003-10-16 16:51 Mudama, Eric
2003-10-16 20:43 ` Greg Stark
2003-10-17 6:44 ` Jens Axboe
2003-10-17 6:46 ` Jens Axboe
2003-10-16 20:51 Mudama, Eric
2003-10-17 6:48 ` Jens Axboe
2003-10-17 16:07 Mudama, Eric
2003-10-17 18:08 ` Jens Axboe
2003-10-17 17:59 Manfred Spraul
2003-10-17 18:06 ` Jens Axboe
2003-10-21 0:47 ` Matthias Andree
2003-10-17 18:42 Mudama, Eric
[not found] <IXzh.61g.5@gated-at.bofh.it>
2003-10-21 19:24 ` Anton Ertl
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=200310262206.53904.phillips@arcor.de \
--to=phillips@arcor.de \
--cc=axboe@suse.de \
--cc=linux-kernel@vger.kernel.org \
--cc=piggin@cyberone.com.au \
/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;
as well as URLs for NNTP newsgroup(s).