From: Mike Christie <michaelc@cs.wisc.edu>
To: Kai Makisara <Kai.Makisara@kolumbus.fi>
Cc: linux-scsi@vger.kernel.org
Subject: Re: [PATCH 4/5] convert st to use scsi_execte_async
Date: Mon, 19 Sep 2005 14:22:53 -0500 [thread overview]
Message-ID: <432F100D.7050007@cs.wisc.edu> (raw)
In-Reply-To: <Pine.LNX.4.61.0509192040360.4404@kai.makisara.local>
Kai Makisara wrote:
>
> st sends the command using a buffer of one segment. The command is passed
> to the HBA driver and it sees 8 segments. Clustering seems to work
> properly (the maximum segment size is set to 65536 bytes by default).
>
> Here is what is seen when the block size is increased to 513 kB:
> dd if=tdata of=/dev/nst0 bs=513k count=1
>
> The dd process hangs in device wait. It turns out that
> scsi_execute_async() fails. This is an async write and the process later
> waits for the failed write to finish. The patch at the end of this message
> fixes this st bug (don't worry about the line shifts, I have some
> debugging printks in this driver).
>
> The real problem is that scsi_execute_async() fails. The 513 kB request is
> 129 pages. Could the reason be related to these defaults in include/linux?
> #define MAX_PHYS_SEGMENTS 128
> #define MAX_HW_SEGMENTS 128
>
Yeah I think this is due to the MAX_PHYS_SEGMENTS limit. The hw segments
is set by scsi_lib in scsi_alloc_queue and is the sg_tablesize value on
the host. Right now all I do is return a error when someone violates one
of the limits, but I think the right thing to do is have the ULDs take
some of these values into account when they build their lists. However
if I do that we will not be able to make large requests since the
MAX_PHYS_SEGMENTS/SCSI_MAX_PHYS_SEGMENTS will limit them. Umm let me
rethink.
next prev parent reply other threads:[~2005-09-19 19:23 UTC|newest]
Thread overview: 27+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-09-16 4:39 [PATCH 4/5] convert st to use scsi_execte_async Mike Christie
2005-09-17 11:57 ` Kai Makisara
2005-09-17 15:43 ` Mike Christie
2005-09-17 15:55 ` Mike Christie
2005-09-17 16:25 ` Mike Christie
2005-09-18 12:01 ` Kai Makisara
2005-09-18 15:03 ` Mike Christie
2005-09-18 15:17 ` Mike Christie
2005-09-18 17:40 ` Kai Makisara
2005-09-18 15:46 ` Mike Christie
2005-09-18 16:13 ` Mike Christie
2005-09-18 16:08 ` Mike Christie
2005-09-18 16:36 ` Mike Christie
2005-09-18 16:38 ` Mike Christie
2005-09-18 19:03 ` Kai Makisara
2005-09-18 17:01 ` Mike Christie
2005-09-19 18:39 ` Kai Makisara
2005-09-19 19:22 ` Mike Christie [this message]
2005-09-20 19:23 ` Kai Makisara
2005-09-20 19:55 ` Mike Christie
2005-09-20 20:20 ` James Bottomley
2005-09-20 21:17 ` Kai Makisara
2005-09-20 22:39 ` Douglas Gilbert
2005-09-22 20:12 ` Kai Makisara
2005-09-23 3:20 ` Mike Christie
2005-09-17 15:57 ` Kai Makisara
2005-09-17 16:48 ` Kai Makisara
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=432F100D.7050007@cs.wisc.edu \
--to=michaelc@cs.wisc.edu \
--cc=Kai.Makisara@kolumbus.fi \
--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;
as well as URLs for NNTP newsgroup(s).