From: Hannes Reinecke <hare@suse.de>
To: James Bottomley <jbottomley@parallels.com>
Cc: linux-scsi@vger.kernel.org, Ewan Milne <emilne@redhat.com>,
Ren Mingxin <renmx@cn.fujitsu.com>, Joern Engel <joern@logfs.org>,
James Smart <james.smart@emulex.com>,
Bart Van Assche <bvanassche@acm.org>,
Roland Dreier <roland@purestorage.com>,
Hannes Reinecke <hare@suse.de>
Subject: [PATCHv6 0/3] New EH command timeout handler
Date: Mon, 2 Sep 2013 13:58:35 +0200 [thread overview]
Message-ID: <1378123118-111972-1-git-send-email-hare@suse.de> (raw)
Hi all,
this patchset implements a new SCSI EH command timeout handler
which will be sending command aborts inline without actually
engaging SCSI EH.
SCSI EH will only be invoked if command abort fails.
In addition the commands will be returned directly
if the command abort succeeded, cutting down recovery
times dramatically.
With the original SCSI EH I got:
# time dd if=/dev/zero of=/dev/dm-2 bs=4k count=4k oflag=direct
4096+0 records in
4096+0 records out
16777216 bytes (17 MB) copied, 142.652 s, 118 kB/s
real 2m22.657s
user 0m0.013s
sys 0m0.145s
With this patchset I got:
# time dd if=/dev/zero of=/dev/dm-2 bs=4k count=4k oflag=direct
4096+0 records in
4096+0 records out
16777216 bytes (17 MB) copied, 52.1579 s, 322 kB/s
real 0m52.163s
user 0m0.012s
sys 0m0.145s
Test was to disable RSCN on the target port, disable the
target port, and then start the 'dd' command as indicated.
Changes to the original version:
- Use a private list in scsi_eh_abort_handler to avoid
list starvation (pointed out by Joern Engel)
- Terminate command aborts when the first abort fails
- Do not attempt command aborts if the host is already in recovery
or if the device is removed.
- Flush abort workqueue if the device is removed.
Changes to v2:
- Removed eh_entry initialisation
- Convert to per-command workqueue
Changes to v3:
- Use delayed_work
- Enable new eh timeout handler for virtio, SAS, and FC
- Modify logging messages to include scmd pointer
Changes to v4:
- Remove stubs when enabling new eh timeout handler
for other drivers
Changes to v5:
- Enable new eh timeout handler per default
- Update documentation
Hannes Reinecke (3):
scsi: Fix erratic device offline during EH
scsi: improved eh timeout handler
scsi_error: Update documentation
Documentation/scsi/scsi_eh.txt | 69 +++++++------
Documentation/scsi/scsi_mid_low_api.txt | 9 +-
drivers/scsi/scsi.c | 9 +-
drivers/scsi/scsi_error.c | 177 ++++++++++++++++++++++++++++----
drivers/scsi/scsi_priv.h | 2 +
include/scsi/scsi_cmnd.h | 1 +
include/scsi/scsi_host.h | 5 +
7 files changed, 214 insertions(+), 58 deletions(-)
--
1.7.12.4
next reply other threads:[~2013-09-02 11:58 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-09-02 11:58 Hannes Reinecke [this message]
2013-09-02 11:58 ` [PATCH 1/3] scsi: Fix erratic device offline during EH Hannes Reinecke
2013-09-11 14:36 ` Jeremy Linton
2013-10-16 19:22 ` James Bottomley
2013-10-23 8:58 ` Martin K. Petersen
2013-10-23 9:27 ` Hannes Reinecke
2013-09-02 11:58 ` [PATCH 2/3] scsi: improved eh timeout handler Hannes Reinecke
2013-09-11 9:16 ` Ren Mingxin
2013-09-12 20:49 ` Hannes Reinecke
2013-09-20 7:59 ` Ren Mingxin
2013-10-02 16:24 ` Hannes Reinecke
2013-10-09 7:43 ` [PATCH] scsi: Set the minimum valid value of 'eh_deadline' as 0 Ren Mingxin
2013-10-09 9:38 ` Hannes Reinecke
2013-10-09 12:28 ` Ewan Milne
2013-10-10 8:46 ` Ren Mingxin
2013-09-02 11:58 ` [PATCH 3/3] scsi_error: Update documentation Hannes Reinecke
2013-10-02 7:25 ` [PATCHv6 0/3] New EH command timeout handler Christoph Hellwig
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=1378123118-111972-1-git-send-email-hare@suse.de \
--to=hare@suse.de \
--cc=bvanassche@acm.org \
--cc=emilne@redhat.com \
--cc=james.smart@emulex.com \
--cc=jbottomley@parallels.com \
--cc=joern@logfs.org \
--cc=linux-scsi@vger.kernel.org \
--cc=renmx@cn.fujitsu.com \
--cc=roland@purestorage.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;
as well as URLs for NNTP newsgroup(s).