From owner-freebsd-hackers@FreeBSD.ORG Mon Dec 10 06:15:58 2012 Return-Path: Delivered-To: freebsd-hackers@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 78EFEEA1 for ; Mon, 10 Dec 2012 06:15:58 +0000 (UTC) (envelope-from bf1783@googlemail.com) Received: from mail-ie0-f182.google.com (mail-ie0-f182.google.com [209.85.223.182]) by mx1.freebsd.org (Postfix) with ESMTP id 3F47B8FC14 for ; Mon, 10 Dec 2012 06:15:57 +0000 (UTC) Received: by mail-ie0-f182.google.com with SMTP id s9so8884657iec.13 for ; Sun, 09 Dec 2012 22:15:57 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:reply-to:date:message-id:subject:from:to:content-type; bh=oegZVOf/49Ib2gl/JLubCVqVuGrg28rbx5CUMOQwgtQ=; b=HsobUJy/hC01Dj43u6wRCui3kNYn+jOCv/0JNvgPdVmVnsWaRJxeI6zCncHbsNjgdc Wo8KpusAW7mMm21CEJ3KJwX8xyim1IFl3khWY//zqCeeTPVd+4A3CWY7Wpe69b1F7OI4 EgdgKmP97tiIC1g3N1ShCQMI3/sNBa14wPfz09O1PwZIhTnA9mV+UF8P63w3XilQzmg+ C08vfwsx29iNrqNuM/GXQ1NFg5XYYg3J5OomrUEPbUJjlFDtHymqRXvXga5DC2f5wMdW uKTBCJgUqHPKm+Yo04QNwIY8wKksCmUW4iAAFm9rgqJNccnVwfvNKXLx6IdbRYLsbUxh kmCw== MIME-Version: 1.0 Received: by 10.43.62.133 with SMTP id xa5mr10327248icb.28.1355120157342; Sun, 09 Dec 2012 22:15:57 -0800 (PST) Received: by 10.50.88.137 with HTTP; Sun, 9 Dec 2012 22:15:57 -0800 (PST) Date: Mon, 10 Dec 2012 06:15:57 +0000 Message-ID: Subject: Re: FreeBSD for serious performance? From: "b.f." To: Dieter BSD , freebsd-hackers@FreeBSD.org Content-Type: text/plain; charset=ISO-8859-1 X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list Reply-To: bf1783@gmail.com List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 10 Dec 2012 06:15:58 -0000 >[ 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: > > port 0x9f0-0x9f7,0xbf0-0xbf3,0x970-0x977,0xb70-0xb73,0xcc00-0xcc0f >mem 0xfebfb000-0xfebfbfff irq 21 at device 7.0 on pci0 > 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.