From owner-freebsd-current@FreeBSD.ORG Fri Jul 3 19:31:26 2009 Return-Path: Delivered-To: freebsd-current@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id CE018106564A; Fri, 3 Jul 2009 19:31:26 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from cmail.optima.ua (cmail.optima.ua [195.248.191.121]) by mx1.freebsd.org (Postfix) with ESMTP id 03D8C8FC0C; Fri, 3 Jul 2009 19:31:25 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from [212.86.226.226] (account mav@alkar.net HELO mavbook.mavhome.dp.ua) by cmail.optima.ua (CommuniGate Pro SMTP 5.2.9) with ESMTPSA id 247606204; Fri, 03 Jul 2009 22:31:22 +0300 Message-ID: <4A4E5C82.9070209@FreeBSD.org> Date: Fri, 03 Jul 2009 22:31:14 +0300 From: Alexander Motin User-Agent: Thunderbird 2.0.0.21 (X11/20090405) MIME-Version: 1.0 To: Mike Tancsa References: <4A4517BE.9040504@FreeBSD.org> <200906272303.n5RN3rTi070177@lava.sentex.ca> <4A471F44.7010108@FreeBSD.org> <200907021859.n62IxghN009931@lava.sentex.ca> <4A4D0B7E.8060503@FreeBSD.org> <200907022117.n62LHrvZ010791@lava.sentex.ca> <200907031326.n63DQCGM016627@lava.sentex.ca> <4A4E0D51.3080904@FreeBSD.org> <200907031413.n63ED2jl016885@lava.sentex.ca> <4A4E1525.2040809@FreeBSD.org> <200907031430.n63EUMH1016965@lava.sentex.ca> <4A4E1A6C.3090605@FreeBSD.org> <200907031858.n63IwDIt018455@lava.sentex.ca> In-Reply-To: <200907031858.n63IwDIt018455@lava.sentex.ca> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Cc: FreeBSD-Current , scottl@FreeBSD.org Subject: Re: RFC: ATA to CAM integration patch (INTEL DX58SO) X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 03 Jul 2009 19:31:27 -0000 Mike Tancsa wrote: > I am trying a *different* motherboard > (INTEL DX58SO) and drive now with your 0629 patch as well as the diff > below. > With the above diff, all seems to work well. > > Full verbose dmesg and pciconf -lvc at > > http://www.tancsa.com/ahci/DX58SO.txt Fine. > Read/Write speed looks good with a more modern disk as well > > -------Sequential Output-------- ---Sequential Input-- > --Random-- > -Per Char- --Block--- -Rewrite-- -Per Char- --Block--- > --Seeks--- > Machine MB K/sec %CPU K/sec %CPU K/sec %CPU K/sec %CPU K/sec %CPU > /sec %CPU > 4000 103884 51.4 109344 9.7 42048 6.0 91201 59.0 116723 8.5 > 1123.4 2.0 > 0(ich10)# dd if=/dev/ada0 of=/dev/null bs=1m count=1000 > 1000+0 records in > 1000+0 records out > 1048576000 bytes transferred in 7.562206 secs (138660068 bytes/sec) > 0(ich10)# Fine. But first test still looks like bound by something. Or this test requires some tuning, or it is used over file system, your system may require tuning. It would be more interesting to investigate benefits on NCQ suitable workload, as that are new for us. Something like unpacking a lot of small files to normal or async-mounted or gjournalled FS, or some multi-threaded read, or something else. Would be nice to understand on which types of workload NCQ could give us visible effects. You can track real requests parallelism by looking on dev_active field of `camcontrol tags ada0 -v`. > The eSata port does not work, but it never did under the old driver > either. I think it has a separate controller ? At the BIOS boot up > time, it shows some Marvell controller talking to the eSata attached > drive, and pciconf does show a separate ATA controller > > > ahci0@pci0:0:31:2: class=0x010601 card=0x4f538086 chip=0x3a228086 > rev=0x00 hdr=0x00 > vendor = 'Intel Corporation' > device = '6 port SATA AHCI Controller' > class = mass storage > subclass = SATA > cap 05[80] = MSI supports 16 messages enabled with 1 message > cap 01[70] = powerspec 3 supports D0 D3 current D0 > cap 12[a8] = SATA Index-Data Pair As I have noted in man page, "mass storage"/"SATA" is right device. > atapci0@pci0:6:0:0: class=0x01018f card=0x4f538086 chip=0x612111ab > rev=0xb2 hdr=0x00 > vendor = 'Marvell Semiconductor (Was: Galileo Technology Ltd)' > device = '6121 SATA2 Controller' > class = mass storage > subclass = ATA > cap 01[48] = powerspec 2 supports D0 D1 D3 current D0 > cap 05[50] = MSI supports 1 message > cap 10[e0] = PCI-Express 1 legacy endpoint max data 128(128) link > x1(x1) But this device, implementing both PATA and SATA ports, report itself as PATA controller. It's SATA part may be AHCI compatible, but driver unable to attach it due to incorrect device identification. Alike happens to my JMicron controllers, but in that case system BIOS is able to switch it into the right mode with separate PATA and AHCI SATA controllers devices. -- Alexander Motin