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
Alexander Motin <mav@FreeBSD.org>
Date
3 Sep 2009 14:54:56
Subject
Re: svn commit: r196777 - head/sys/dev/ahci
Message-ID
4A9FD8B4.2080605@FreeBSD.org


[ Hide this part ]
Scott Long wrote:
> 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.

Couldn't it be somehow handled on that level? Limiting maxio from 127.5K
to 64K is also a penalty for requests with length in that range. It
would be nice if every level would do it's own job.

> 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;
>


--
Alexander Motin

Elapsed time: 0.136 seconds