Date: Thu, 3 Sep 2009 08:22:10 -0600 From: Scott Long <scottl@samsco.org> To: Alexander Motin <mav@freebsd.org> Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org Subject: Re: svn commit: r196777 - head/sys/dev/ahci Message-ID: <1872D962-9297-4C45-9F73-4BB823C49D74@samsco.org> In-Reply-To: <200909031237.n83CbIgk032551@svn.freebsd.org> References: <200909031237.n83CbIgk032551@svn.freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
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;
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?1872D962-9297-4C45-9F73-4BB823C49D74>