At 10:49 AM 7/3/2009, Alexander Motin wrote: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) _______________________________________________ freebsd-current@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-current To unsubscribe, send any mail to "freebsd-current-unsubscribe@freebsd.org"
| Eric Paris | [RFC 0/5] [TALPA] Intro to a linux interface for on access scanning |
| Mark Fasheh | Re: -mm merge plans for 2.6.23 -- sys_fallocate |
| Linus Torvalds | Linux 2.6.21-rc4 |
| Linus Torvalds | Re: Dual-Licensing Linux Kernel with GPL V2 and GPL V3 |
git: | |
| David Miller | [GIT]: Networking |
| David Miller | Re: [PATCH] pkt_sched: Destroy gen estimators under rtnl_lock(). |
| Gerrit Renker | [PATCH 15/37] dccp: Set per-connection CCIDs via socket options |
| Christoph Lameter | Network latency regressions from 2.6.22 to 2.6.29 |
