Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 03 Jul 2009 15:00:34 -0400
From:      Mike Tancsa <mike@sentex.net>
To:        Alexander Motin <mav@FreeBSD.org>
Cc:        FreeBSD-Current <freebsd-current@FreeBSD.org>, scottl@FreeBSD.org
Subject:   Re: RFC: ATA to CAM integration patch (INTEL  DX58SO)
Message-ID:  <200907031858.n63IwDIt018455@lava.sentex.ca>
In-Reply-To: <4A4E1A6C.3090605@FreeBSD.org>
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>

next in thread | previous in thread | raw e-mail | index | archive | help
At 10:49 AM 7/3/2009, Alexander Motin wrote:
>Mike Tancsa wrote:
> > At 10:26 AM 7/3/2009, Alexander Motin wrote:
> >
> >> Wait! Stop! I have got lost in what we are testing. In some of your your
> >> previous messages today I have seen:
> >
> > Sorry, I just opened up the case to confirm, and it is indeed a SATA DVD
> > drive.
>
>Messages like "it's just not working" will not give anything except
>upsetting me. Usually I need more information. So if you are really what
>to track and fix some problem, please, identify it somehow, to be able
>to send more follow-ups later and compare to different user's results.
>Open cases one by one in separate emails.


Sorry again for the confusion.  I am trying a *different* motherboard 
(INTEL DX58SO) and drive now with your 0629 patch as well as the diff below.

--- ahci.c.prev 2009-06-29 12:48:45.000000000 +0300
+++ ahci.c      2009-06-29 17:25:29.000000000 +0300
@@ -986,7 +986,7 @@ ahci_begin_transaction(device_t dev, uni
                 if (ch->slot[tag].state == AHCI_SLOT_EMPTY)
                         break;
         } while (tag != ch->lastslot);
-       if (tag == ch->lastslot)
+       if (ch->slot[tag].state != AHCI_SLOT_EMPTY)
                 device_printf(ch->dev, "ALL SLOTS BUSY!\n");
         ch->lastslot = tag;
         /* Occupy chosen slot. */


Without the diff, I was getting a steady stream of

ahcich0: ALL SLOTS BUSY!
ahcich0: ALL SLOTS BUSY!
ahcich0: ALL SLOTS BUSY!
ahcich0: ALL SLOTS BUSY!
ahcich0: ALL SLOTS BUSY!
ahcich0: ALL SLOTS BUSY!
ahcich0: ALL SLOTS BUSY!
ahcich0: ALL SLOTS BUSY!
ahcich0: ALL SLOTS BUSY!
ahcich0: ALL SLOTS BUSY!
ahcich0: ALL SLOTS BUSY!
ahcich0: ALL SLOTS BUSY!

With the above diff, all seems to work well.

Full verbose dmesg and pciconf -lvc at

http://www.tancsa.com/ahci/DX58SO.txt


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)#


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
none7@pci0:0:31:3:      class=0x0c0500 card=0x4f538086 
chip=0x3a308086 rev=0x00 hdr=0x00
     vendor     = 'Intel Corporation'
     device     = 'SMB controller  (50011458)'
     class      = serial bus
     subclass   = SMBus
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) 




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200907031858.n63IwDIt018455>