From: James Bottomley <James.Bottomley@SteelEye.com>
To: Daniel Phillips <phillips@bonn-fries.net>
Cc: James Bottomley <James.Bottomley@SteelEye.com>,
Chris Mason <mason@suse.com>,
"Stephen C. Tweedie" <sct@redhat.com>,
linux-kernel@vger.kernel.org, linux-scsi@vger.kernel.org
Subject: Re: [PATCH] 2.4.x write barriers (updated for ext3)
Date: Wed, 06 Mar 2002 08:34:41 -0600 [thread overview]
Message-ID: <200203061434.g26EYg301641@localhost.localdomain> (raw)
In-Reply-To: Message from Daniel Phillips <phillips@bonn-fries.net> of "Wed, 06 Mar 2002 14:59:52 +0100." <E16ibxR-0002zI-00@starship.berlin>
phillips@bonn-fries.net said:
> How can a drive can accept a command while it is disconnected from the
> bus. Did you mean that after it reconnects it might refuse the ordered
> tag and accept another? That would be a bug, I'd think.
Disconnect is SCSI slang for releasing the bus to other uses, it doesn't imply
electrical disconnection from it. The architecture of SCSI is like this, the
usual (and simplified) operation of a single command is:
- Initiator selects device and sends command and tag information.
- device disconnects
....
- device reselects initiator, presents tag and demands to transfer data (in
the direction dictated by the command).
- device may disconnect and reselect as many times as it wishes during data
transfer as dictated by its flow control (at least one block of data must
transfer for each reselection)
- device disconnects to complete operation
...
- device reselects and presents tag and status (command is now complete)
A tag is like a temporary ticket for identifying the command in progress.
During the (...) phases, the bus is free and the initiator is able to send
down new commands with different tags. If the device isn't going to be able
to accept the command, it is allowed to skip the data transfer phase and go
straight to status and present a QUEUE FULL status return. However, there is
still a disconnected period where the initiator doesn't know the command won't
be accepted and may send down other tagged commands.
> It would mean we would have to wait for completion of the tagged
> command before submitting any more commands. Not nice, but not
> horribly costly either.
But if we must await completion of ordered tags just to close this hole, it
makes the most sense to do it in the bio layer (or the journal layer, where
the wait is currently being done anyway) since it is generic to every low
level driver.
James
next prev parent reply other threads:[~2002-03-06 14:35 UTC|newest]
Thread overview: 73+ messages / expand[flat|nested] mbox.gz Atom feed top
2002-02-22 15:57 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
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 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 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-12 1:17 ` GOTO Masanori
2002-03-04 14:48 ` James Bottomley
2002-03-06 13:59 ` Daniel Phillips
2002-03-06 14:34 ` James Bottomley [this message]
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: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 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 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-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=200203061434.g26EYg301641@localhost.localdomain \
--to=james.bottomley@steeleye.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-scsi@vger.kernel.org \
--cc=mason@suse.com \
--cc=phillips@bonn-fries.net \
--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
all inboxes | Powered by JetHome®