From: Chris Mason <mason@suse.com>
To: James Bottomley <James.Bottomley@steeleye.com>,
Jens Axboe <axboe@suse.de>
Cc: linux-kernel@vger.kernel.org, linux-scsi@vger.kernel.org
Subject: Re: [PATCH] queue barrier support
Date: Fri, 15 Feb 2002 11:28:35 -0500 [thread overview]
Message-ID: <3998280000.1013790514@tiny> (raw)
In-Reply-To: <200202151515.g1FFFw801733@localhost.localdomain>
In-Reply-To: <200202151515.g1FFFw801733@localhost.localdomain>
On Friday, February 15, 2002 10:15:58 AM -0500 James Bottomley <James.Bottomley@steeleye.com> wrote:
> mason@suse.com said:
>> I was wondering about this, we would need to change the error handler
>> to fail all the requests after the barrier. I was hoping the driver
>> did this for us ;-)
>
> Unfortunately, this is going to involve deep hackery inside the error handler.
> The current initial premise is that it can simply retry the failing command
> by issuing an ABORT to the tag and resending it (which can cause a tag to move
> past your barrier). In an error situation, it really wouldn't be wise to try
> to abort lots of potentially running tags to preserve the barrier ordering
> (because of the overload placed on a known failing component), so I think the
> error handler has to abandon the concept of aborting commands and move
> straight to device reset. We then carefully resend the commands in FIFO order.
>
Ok, I'll try to narrow the barrier usage a bit, I'm waiting on the
barrier write once it is sent, so I'm not worried about anything done
after the ordered tag.
write X log blocks (simple tag)
write 1 commit block (ordered tag)
wait on all of them.
All I care about is knowing that all of the log blocks hit the disk
before the commit. So, if one of the log blocks aborts, I want it
to abort the commit too. Is this a little easier to implement?
> Additionally, you must handle the case that a device is reset by something
> else (in error handler terms, the cc_ua [check condition/unit attention]).
> Here also, the tags would have to be sent back down in FIFO order as soon as
> the condition is detected.
>
> mason@suse.com said:
>> Yes, this could get sticky. Does anyone know if other OSes have
>> already done this?
>
> Other OSs (well the ones I've heard about: Solaris and HP-UX) try to avoid
> ordered tags, mainly because of the performance impact they have---the drive
> tag service algorithms become inefficient in the presence of ordered tags
> since they're usually optimised for all simple tags.
I do see that on my drives ;-) The main reason I think its worth trying
is because the commit block is directly adjacent to the last log block,
so I'm hoping the drive can optimize the commit (even though it is ordered)
better when the OS sends it directly after the last log block.
While I've got linux-scsi cc'd, I'll reask a question from yesterday.
Do the targets with write back caches usually ignore the order tag,
doing the write in the most efficient way possible instead?
-chris
next prev parent reply other threads:[~2002-02-15 16:29 UTC|newest]
Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top
2002-02-13 18:26 [PATCH] queue barrier support James Bottomley
2002-02-15 9:02 ` Jens Axboe
2002-02-15 15:15 ` James Bottomley
2002-02-15 16:28 ` Chris Mason [this message]
2002-02-15 16:51 ` James Bottomley
2002-02-15 17:17 ` Chris Mason
2002-02-15 17:48 ` James Bottomley
2002-02-15 22:30 ` Matthias Andree
2002-02-15 17:09 ` James Bottomley
2002-02-15 16:43 ` Mike Anderson
2002-02-15 13:41 ` Chris Mason
2002-02-16 10:20 ` Daniel Phillips
2002-02-16 15:02 ` James Bottomley
2002-02-25 20:55 ` 929-Emulex, ABTS Command Anamoly! Cindy Sweet
2002-02-25 21:02 ` arjan
-- strict thread matches above, loose matches on Subject: below --
2002-02-13 12:51 [PATCH] queue barrier support Jens Axboe
2002-02-13 13:09 ` Martin Dalecki
2002-02-13 13:13 ` Jens Axboe
2002-02-13 14:36 ` Martin Dalecki
2002-02-13 14:41 ` Jens Axboe
2002-02-13 14:51 ` Daniel Phillips
2002-02-13 15:18 ` Jens Axboe
2002-02-13 17:47 ` Andreas Dilger
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=3998280000.1013790514@tiny \
--to=mason@suse.com \
--cc=James.Bottomley@steeleye.com \
--cc=axboe@suse.de \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-scsi@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