Skip site navigation (1)Skip section navigation (2)
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>