[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <4BD1007C.2000300@pobox.com>
Date: Thu, 22 Apr 2010 22:05:48 -0400
From: Jeff Garzik <jgarzik@...ox.com>
To: Grant Grundler <grundler@...gle.com>
CC: Linux IDE mailing list <linux-ide@...r.kernel.org>,
Tejun Heo <tj@...nel.org>, LKML <linux-kernel@...r.kernel.org>
Subject: Re: [PATCH] 2.6.34-rc3 v2 Disable R_OK (Early ACK) on SII 3726 PMP
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@...gle.com>
> Signed-off-by: Gwendal Grignou<gwendal@...gle.com>
> Acked-by: Tejun Heo<tj@...nel.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
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists