[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <i2qda824cf31004141757m8eb09beek86a41470bcdc9262@mail.gmail.com>
Date: Wed, 14 Apr 2010 17:57:04 -0700
From: Grant Grundler <grundler@...gle.com>
To: Tejun Heo <tj@...nel.org>
Cc: Linux IDE mailing list <linux-ide@...r.kernel.org>,
Jeff Garzik <jgarzik@...ox.com>,
LKML <linux-kernel@...r.kernel.org>
Subject: Re: [PATCH] 2.6.34-rc3 Disable R_OK (Early ACK) on SII 3726/4726 PMP
On Wed, Apr 14, 2010 at 5:31 PM, Tejun Heo <tj@...nel.org> wrote:
> Hello,
>
> On 04/14/2010 09:46 AM, 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.
>
> Interesting.
>
>> 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.
>
> Given the general flakiness of the device, I'm more than willing to
> pay some overhead for stability and the performance hit seems pretty
> small.
>
>> @@ -260,12 +262,28 @@ static int sata_pmp_configure(struct ata_device
>> *dev, int print_info)
>> goto fail;
>> }
>>
>> + /* For Sil3726, disable sending Early R_OK */
>> + if (vendor == 0x1095 && devid == 0x3726) {
>
> Isn't this also applicable to 4723 and 4726?
Sorry, I don't know why I included 4726 in the Subject line since I
only tested with 3726.
I expect it would apply to 4726 but someone who knows the internals of
both would have to confirm that.
I don't know anything about 4723.
>
>> diff --git a/include/linux/ata.h b/include/linux/ata.h
>> index 700c5b9..18fc208 100644
>> --- a/include/linux/ata.h
>> +++ b/include/linux/ata.h
>> @@ -386,6 +386,7 @@ enum {
>> SATA_PMP_GSCR_ERROR_EN = 33,
>> SATA_PMP_GSCR_FEAT = 64,
>> SATA_PMP_GSCR_FEAT_EN = 96,
>> + SATA_PMP_GSCR_SII_POL = 129, /* VENDOR : Silicon Image 3726/4726 */
>
> Can you plesae define it inside libata-pmp.c?
Yes. I'll resubmit with "SII_POL" defined "locally".
> ata.h only contains stuff defined by the ATA standard.
Ah ok. I didn't realize that.
>
> Other than the above nitpicks,
>
> Acked-by: Tejun Heo <tj@...nel.org>
Thanks for the Ack/Review!
grant
>
> Thanks.
>
> --
> tejun
>
--
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