Date: Mon, 10 Dec 2012 06:15:57 +0000 From: "b.f." <bf1783@googlemail.com> To: Dieter BSD <dieterbsd@engineer.com>, freebsd-hackers@FreeBSD.org Subject: Re: FreeBSD for serious performance? Message-ID: <CAGFTUwPjuB95HA2Sz80ECXNp2P7sg6Mg=c2CYrDm-9mVLsZGEA@mail.gmail.com>
next in thread | raw e-mail | index | archive | help
>[ lack of SATA NCQ support for nforce4-ultra ] > > > http://git.kernel.org/?p=linux/kernel/git/torvalds/linux.git;a=commitdiff;h=e2e031eb09760c36099ac127eeb175e06d257aef > >which is: > >The mcp61 has bug with ncq. >- { PCI_VDEVICE(NVIDIA, PCI_DEVICE_ID_NVIDIA_NFORCE_MCP61_SATA), SWNCQ }, >- { PCI_VDEVICE(NVIDIA, PCI_DEVICE_ID_NVIDIA_NFORCE_MCP61_SATA2), SWNCQ }, >- { PCI_VDEVICE(NVIDIA, PCI_DEVICE_ID_NVIDIA_NFORCE_MCP61_SATA3), SWNCQ }, >+ { PCI_VDEVICE(NVIDIA, PCI_DEVICE_ID_NVIDIA_NFORCE_MCP61_SATA), GENERIC }, >+ { PCI_VDEVICE(NVIDIA, PCI_DEVICE_ID_NVIDIA_NFORCE_MCP61_SATA2), GENERIC }, >+ { PCI_VDEVICE(NVIDIA, PCI_DEVICE_ID_NVIDIA_NFORCE_MCP61_SATA3), GENERIC }, > >http://en.wikipedia.org/wiki/GeForce_6_Series >says: "MCP61 introduced a bug in the SATA NCQ implementation. >As a result, Nvidia employees have contributed code to disable NCQ operations under Linux." >I have not found a description of the bug. > >But FreeBSD says I have: > ><nVidia nForce CK804 SATA300 controller> port 0x9f0-0x9f7,0xbf0-0xbf3,0x970-0x977,0xb70-0xb73,0xcc00-0xcc0f >mem 0xfebfb000-0xfebfbfff irq 21 at device 7.0 on pci0 ><nVidia nForce CK804 SATA300 controller> port 0x9e0-0x9e7,0xbe0-0xbe3,0x960-0x967,0xb60-0xb63,0xb800-0xb80f >mem 0xfebfa000-0xfebfafff irq 22 at device 8.0 on pci0 > >The CK804 (a few lines higher in the source file) did not get changed to GENERIC. >As far as I can figure out, the bug (whatever it is) is limited to the MCP61. Sure, I wasn't suggesting that the bug affected your particular case -- I was just mentioning the bug as an example that some of the older SATA controllers have problems with useful features like MSI, power management, port multiplication, or NCQ that the controllers are supposed to support -- so that if anyone were considering creating a FreeBSD driver for one of these controllers based on our existing FreeBSD drivers, the product datasheets, and the Linux drivers at: http://git.kernel.org/?p=linux/kernel/git/torvalds/linux.git;a=tree;f=drivers/ata;h=32325a5432d90c22dd1f19ee6c811af2145fc031;hb=HEAD in order to get more than legacy mode support for the controller, then they would be wise to look at the Linux drivers to see if the features that they want actually work -- and weigh the investment of time and effort against the alternative of buying a new storage card that works well with one of our newer drivers. b.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAGFTUwPjuB95HA2Sz80ECXNp2P7sg6Mg=c2CYrDm-9mVLsZGEA>