lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:	Thu, 15 Apr 2010 09:31:56 +0900
From:	Tejun Heo <tj@...nel.org>
To:	Grant Grundler <grundler@...gle.com>
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

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?

> 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?  ata.h only contains
stuff defined by the ATA standard.

Other than the above nitpicks,

Acked-by: Tejun Heo <tj@...nel.org>

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