From: Hannes Reinecke <hare@suse.de>
To: Ren Mingxin <renmx@cn.fujitsu.com>
Cc: James Bottomley <jbottomley@parallels.com>,
linux-scsi@vger.kernel.org, Ewan Milne <emilne@redhat.com>,
Bart van Assche <bvanassche@acm.org>,
Joern Engel <joern@logfs.org>,
James Smart <james.smart@emulex.com>,
Roland Dreier <roland@purestorage.com>
Subject: Re: [PATCHv3 0/9] New EH command timeout handler
Date: Fri, 12 Jul 2013 08:09:52 +0200 [thread overview]
Message-ID: <51DF9DB0.7080502@suse.de> (raw)
In-Reply-To: <51DF82B9.8030406@cn.fujitsu.com>
On 07/12/2013 06:14 AM, Ren Mingxin wrote:
> Hi, Hannes:
>
> On 07/01/2013 10:24 PM, Hannes Reinecke wrote:
>> 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.
>
> Do you mean disabling RSCN/port is enough? I'm afraid I couldn't
> reproduce the problem by your steps. Both with and without your
> patchset are the same 'dd' result: 27s. Please let me know where I
> neglected or mistook:
>
> 1) I made a dm-multipath target 'dm-0' whose grouping policy was
> failover;
> 2) Disable RSCN/port via brocade fc switch:
> SW300:root> portcfg rscnsupr 15 --enable; portDisable 15
> 3) Start the 'dd' command:
> # time dd if=/dev/zero of=/dev/dm-0 bs=4k count=4k oflag=direct
> dd: writing `/dev/sde': Input/output error
> 1+0 records in
> 0+0 records out
> 0 bytes (0 B) copied, 27.8588 s, 0.0 kB/s
>
> real 0m27.860s
> user 0m0.001s
> sys 0m0.000s
You are aware that you have to disable RSCNs on the _target_ port,
right?
Disabling RSCNs on the _initiator_ ports is a well-tested case, and
the one which actually makes sense (and is even implemented in
QLogic switches).
Disabling RSCNs for the _target_ port, OTOH, has a very questionable
nature (hence QLogic switches don't even allow you to do this).
[ .. ]
> Another question:
>
> I also tried to produce timeouts by modifying Yasui's module(please
> see APPENDIX A):
> http://www.spinics.net/lists/linux-scsi/msg35091.html
>
> But I got a bug with your this patchset by follwing steps(there was
> not such bug without your patchset):
>
> # grep lpfc_template /proc/kallsyms
> ffffffffa00f9240 d lpfc_template [lpfc]
> # multipath -ll
> ...
> mpathb (36000b5d0006a0000006a14e7000c0000) dm-1 FUJITSU,ETERNUS_DX400
> size=50G features='1 queue_if_no_path' hwhandler='0' wp=rw
> |-+- policy='round-robin 0' prio=130 status=active
> | `- 2:0:0:1 sdf 8:80 active ready running
> `-+- policy='round-robin 0' prio=130 status=enabled
> `- 3:0:0:1 sdh 8:112 active ready running
> # insmod scsi_tmo_mod.ko param=0xffffffffa00f9240,2:0:0:1; time dd
> if=/dev/zero of=/dev/dm-1 bs=4k count=4k oflag=direct
> 4096+0 records in
> 4096+0 records out
> 16777216 bytes (17 MB) copied, 151.194 s, 111 kB/s
>
> real 2m31.195s
> user 0m0.004s
> sys 0m0.111s
>
> Please see logs in APPENDIX B. Do you think this bug is irrelevant to
> your patchset?
>
Hmm. No, sadly not.
'cancel_work_sync' cannot be called from an interrupt context;
guess I'll need to convert it to delayed work.
Thanks for testing; will be updating the patchset.
Cheers,
Hannes
--
Dr. Hannes Reinecke zSeries & Storage
hare@suse.de +49 911 74053 688
SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg
GF: J. Hawn, J. Guild, F. Imendörffer, HRB 16746 (AG Nürnberg)
--
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
next prev parent reply other threads:[~2013-07-12 6:09 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-07-01 14:24 [PATCHv3 0/9] New EH command timeout handler Hannes Reinecke
2013-07-01 14:24 ` [PATCH 1/9] scsi: Fix erratic device offline during EH Hannes Reinecke
2013-07-01 14:24 ` [PATCH 2/9] blk-timeout: add BLK_EH_SCHEDULED return code Hannes Reinecke
2013-07-01 14:24 ` [PATCH 3/9] scsi: improved eh timeout handler Hannes Reinecke
2013-08-22 8:51 ` Ren Mingxin
2013-08-23 12:27 ` Hannes Reinecke
2013-07-01 14:24 ` [PATCH 4/9] virtio_scsi: Enable new EH " Hannes Reinecke
2013-07-01 14:24 ` [PATCH 5/9] libsas: " Hannes Reinecke
2013-07-01 14:24 ` [PATCH 6/9] mptsas: " Hannes Reinecke
2013-07-01 14:24 ` [PATCH 7/9] mpt2sas: " Hannes Reinecke
2013-07-01 14:24 ` [PATCH 8/9] mpt3sas: " Hannes Reinecke
2013-07-01 14:24 ` [PATCH 9/9] scsi_transport_fc: " Hannes Reinecke
2013-07-12 4:14 ` [PATCHv3 0/9] New EH command " Ren Mingxin
2013-07-12 6:09 ` Hannes Reinecke [this message]
2013-07-12 10:00 ` Ren Mingxin
2013-07-12 10:27 ` Hannes Reinecke
2013-07-15 6:05 ` Ren Mingxin
2013-08-07 10:08 ` Ren Mingxin
2013-08-07 10:08 ` Hannes Reinecke
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=51DF9DB0.7080502@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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.