From: Jeff Garzik <jgarzik@pobox.com>
To: Grant Grundler <grundler@google.com>
Cc: Linux IDE mailing list <linux-ide@vger.kernel.org>,
Tejun Heo <tj@kernel.org>, LKML <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH] 2.6.34-rc3 v2 Disable R_OK (Early ACK) on SII 3726 PMP
Date: Thu, 22 Apr 2010 22:05:48 -0400 [thread overview]
Message-ID: <4BD1007C.2000300@pobox.com> (raw)
In-Reply-To: <g2ida824cf31004141843p41f7b21fz25927e3c6faeeed7@mail.gmail.com>
On 04/14/2010 09:43 PM, Grant Grundler wrote:
> In 2009, While running "cache read" performance test of drives behind
> SII PMP we encountered a "all 5 drives" timeout on more than 30% of the
> machines under test. This patch reduces the rate by a factor of about 70.
> Low enough that we didn't care to further investigate the issue.
>
> Performance impact with any sort of "normal" use was ~2%+ CPU and less
> than 1% throughput degradation. Worst case impact (cached read) was
> 6% IOPS reduction. This is with NCQ off (q=1) but I believe FIS based
> switching enabled in the SATA driver.
>
> The patch disables "Early ACK" in the 3726 port multiplier.
> "Early ACK" is issued when device sends a FIS to the host (via PMP)
> and the PMP sends an ACK immediately back to the device - well before
> the host gets the response. Under worst case IOPs load (cached read
> test) and more than 2 PMPs connected to a 4-port SATA controller,
> I suspect the time to service all of the PMPs is exceeding the PMPs
> ability to keep track of outstanding FIS it owes the Host. Reducing
> the number of PMPs to 2 (or 1) reduces the frequency by several orders
> of magnitude. Kudos to Gwendal for initial debugging of this issue.
> [Any errors in the description are mine, not his.]
>
> Patch is currently in production on Google servers.
>
> Signed-off-by: Grant Grundler<grundler@google.com>
> Signed-off-by: Gwendal Grignou<gwendal@google.com>
> Acked-by: Tejun Heo<tj@kernel.org>
>
> ---
>
> v2: dropped references to 4726 since I didn't test 4726,
> moved register definition directly into libata-pmp.c, and
> expanded the comment in the code to summarize the above description.
>
> Code below is white space mangled. Please use attached file.
applied manually, please figure out a way to send patches that can be
applied directly using the standard automated tools (== git am) that
everyone uses
prev parent reply other threads:[~2010-04-23 2:05 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-04-15 1:43 [PATCH] 2.6.34-rc3 v2 Disable R_OK (Early ACK) on SII 3726 PMP Grant Grundler
2010-04-20 20:52 ` Grant Grundler
2010-04-21 10:42 ` Tejun Heo
2010-04-23 2:16 ` Jeff Garzik
2010-04-23 15:41 ` Grant Grundler
2010-04-23 2:05 ` Jeff Garzik [this message]
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=4BD1007C.2000300@pobox.com \
--to=jgarzik@pobox.com \
--cc=grundler@google.com \
--cc=linux-ide@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=tj@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 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.