Re: svn commit: r196777 - head/sys/dev/ahci

[ Available lists | Index of svn-src-head | Month of Sep 2009 | Week of 3 Sep 2009 | Raw email | View thread | Wrap long lines | Reply | Tag ]
From
Scott Long <scottl@samsco.org>
Date
3 Sep 2009 14:22:14
Subject
Re: svn commit: r196777 - head/sys/dev/ahci
Message-ID
1872D962-9297-4C45-9F73-4BB823C49D74@samsco.org


[ Hide this part ]
In this case, set maxio to 64k, not 127.5k.  You'll typically get much
better i/o performance out of two 64k transfers
than you will out of one 127.k transfer and one 512 bytes transfer,
which is what the block layer will give you if
you try to send 128k.

Scott



On Sep 3, 2009, at 6:37 AM, Alexander Motin wrote:

> Author: mav
> Date: Thu Sep 3 12:37:17 2009
> New Revision: 196777
> URL: http://svn.freebsd.org/changeset/base/196777
>
> Log:
> ATI SB600 can't handle 256 sectors transfers with FPDMA (NCQ).
>
> MFC after: 3 days
>
> Modified:
> head/sys/dev/ahci/ahci.c
>
> Modified: head/sys/dev/ahci/ahci.c
> =
> =
> =
> =
> =
> =
> =
> =
> ======================================================================
> --- head/sys/dev/ahci/ahci.c Thu Sep 3 10:06:37 2009 (r196776)
> +++ head/sys/dev/ahci/ahci.c Thu Sep 3 12:37:17 2009 (r196777)
> @@ -1942,6 +1942,9 @@ ahciaction(struct cam_sim *sim, union cc
> cpi->protocol = PROTO_ATA;
> cpi->protocol_version = PROTO_VERSION_UNSPECIFIED;
> cpi->maxio = MAXPHYS;
> + /* ATI SB600 can't handle 256 sectors with FPDMA (NCQ). */
> + if (pci_get_devid(device_get_parent(dev)) == 0x43801002)
> + cpi->maxio = min(cpi->maxio, 255 * 512);
> cpi->ccb_h.status = CAM_REQ_CMP;
> xpt_done(ccb);
> break;



Elapsed time: 0.138 seconds