From: James Bottomley <James.Bottomley@HansenPartnership.com>
To: Ke Wei <kewei.mv@gmail.com>
Cc: linux-scsi <linux-scsi@vger.kernel.org>
Subject: [PATCH] mvsas: fix default can_queue
Date: Fri, 29 Feb 2008 12:01:53 -0600 [thread overview]
Message-ID: <1204308113.4003.45.camel@localhost.localdomain> (raw)
I noticed that the current marvell sas driver wasn't performing very
well. It turns out that it's setting can_queue not in the SCSI host,
but in its own internal data structure, meaning it's always operating
with a global queue depth of one. This patch raises it to what the code
seemed to be intending ... although I think can_queue should be
MVS_CHIP_SLOT_SZ - 1 (without the divide by two)?
The good news is that with this change, I'm getting a respectable
throughput on the fio hammer test; plus zapping random phy resets across
the disk triggers error handler recovery correctly (so far).
I'm having less happy results with a SATAPI DVD ... it looks like the
initial IDENTIFY goes across just fine, but that we stall on the other
SCSI commands ... I'm still investigating this one.
James
---
diff --git a/drivers/scsi/mvsas.c b/drivers/scsi/mvsas.c
index 5ec0665..a128f67 100755
--- a/drivers/scsi/mvsas.c
+++ b/drivers/scsi/mvsas.c
@@ -618,7 +618,6 @@ struct mvs_info {
struct mvs_phy phy[MVS_MAX_PHYS];
struct mvs_port port[MVS_MAX_PHYS];
- u32 can_queue; /* per adapter */
u32 tag_out; /*Get*/
u32 tag_in; /*Give*/
};
@@ -2150,7 +2149,7 @@ static struct mvs_info *__devinit mvs_alloc(struct pci_dev *pdev,
mvi->sas.num_phys = chip->n_phy;
mvi->sas.lldd_max_execute_num = MVS_CHIP_SLOT_SZ - 1;
mvi->sas.lldd_queue_size = MVS_QUEUE_SIZE;
- mvi->can_queue = (MVS_CHIP_SLOT_SZ >> 1) - 1;
+ mvi->shost->can_queue = (MVS_CHIP_SLOT_SZ >> 1) - 1;
mvi->sas.lldd_ha = mvi;
mvi->sas.core.shost = mvi->shost;
next reply other threads:[~2008-02-29 18:02 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-02-29 18:01 James Bottomley [this message]
2008-03-03 0:42 ` [PATCH] mvsas: fix default can_queue James Bottomley
2008-03-03 8:17 ` Ke Wei
2008-03-03 14:59 ` James Bottomley
2008-03-03 16:40 ` James Bottomley
2008-03-05 2:07 ` James Bottomley
2008-03-05 21:02 ` James Bottomley
2008-03-06 14:46 ` Ke Wei
2008-03-06 15:52 ` James Bottomley
2008-03-06 17:44 ` James Bottomley
2008-03-06 17:59 ` Jeff Garzik
2008-03-07 10:50 ` Ke Wei
2008-03-07 15:03 ` James Bottomley
2008-03-07 15:31 ` Ke Wei
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=1204308113.4003.45.camel@localhost.localdomain \
--to=james.bottomley@hansenpartnership.com \
--cc=kewei.mv@gmail.com \
--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