Re: RFC: ATA to CAM integration patch

From: Mike Tancsa <mike_at_sentex.net>
Date: Thu, 30 Jul 2009 13:09:09 -0400
Using HEAD from today (July 30) on an AMD64 kernel

CPU: AMD Phenom(tm) 9950 Quad-Core Processor (2608.81-MHz K8-class CPU)
real memory  = 8589934592 (8192 MB)
avail memory = 8001212416 (7630 MB)

ahci0_at_pci0:0:17:0:      class=0x010601 card=0x43911002 
chip=0x43911002 rev=0x00 hdr=0x00
     vendor     = 'ATI Technologies Inc. / Advanced Micro Devices, Inc.'
     device     = 'SB700 SATA Controller [AHCI mode]'
     class      = mass storage
     subclass   = SATA
     cap 01[60] = powerspec 2  supports D0 D3  current D0
     cap 12[70] = SATA Index-Data Pair


0(freebsd-current2)% grep -i ahci /var/run/dmesg.boot
Preloaded elf obj module "/boot/kernel/ahci.ko" at 0xffffffff80a53728.
ahci0: <AHCI controller> port 
0xb000-0xb007,0xa000-0xa003,0x9000-0x9007,0x8000-0x8003,0x7000-0x700f 
mem 0xfbaffc00-0xfbafffff irq 22 at device 17.0 on pci0
ahci0: Reserved 0x400 bytes for rid 0x24 type 3 at 0xfbaffc00
ahci0: [MPSAFE]
ahci0: [ITHREAD]
ahci0: AHCI v1.10 with 6 3Gbps ports, Port Multiplier supported
ahci0: Caps: 64bit NCQ SNTF MPS ALP AL CLO 3Gbps PM PMD SSC PSC 32cmd 
CCC 6ports
ahcich0: <AHCI channel> at channel 0 on ahci0
ahcich0: [MPSAFE]
ahcich0: [ITHREAD]
ahcich1: <AHCI channel> at channel 1 on ahci0
ahcich1: [MPSAFE]
ahcich1: [ITHREAD]
ahcich2: <AHCI channel> at channel 2 on ahci0
ahcich2: [MPSAFE]
ahcich2: [ITHREAD]
ahcich3: <AHCI channel> at channel 3 on ahci0
ahcich3: [MPSAFE]
ahcich3: [ITHREAD]
ahcich4: <AHCI channel> at channel 4 on ahci0
ahcich4: [MPSAFE]
ahcich4: [ITHREAD]
ahcich5: <AHCI channel> at channel 5 on ahci0
ahcich5: [MPSAFE]
ahcich5: [ITHREAD]
ahcich0: AHCI reset...
ahcich0: hardware reset ...
ahcich0: SATA connect time=0ms status=00000123
ahcich0: ready wait time=0ms
ahcich0: AHCI reset done: devices=00000001
ahcich1: AHCI reset...
ahcich1: hardware reset ...
ahcich1: SATA connect timeout status=00000000
ahcich1: AHCI reset done: phy reset found no device
ahcich2: AHCI reset...
ahcich2: hardware reset ...
ahcich2: SATA connect timeout status=00000000
ahcich2: AHCI reset done: phy reset found no device
ahcich3: AHCI reset...
ahcich3: hardware reset ...
ahcich3: SATA connect timeout status=00000000
ahcich3: AHCI reset done: phy reset found no device
ahcich4: AHCI reset...
ahcich4: hardware reset ...
ahcich4: SATA connect timeout status=00000000
ahcich4: AHCI reset done: phy reset found no device
ahcich5: AHCI reset...
ahcich5: hardware reset ...
ahcich5: SATA connect timeout status=00000000
ahcich5: AHCI reset done: phy reset found no device
ahcich0: Poll timeout on slot 2
(aprobe0:ahcich0:0:15:0): Command timed out
(aprobe0:ahcich0:0:15:0): error 5
(aprobe0:ahcich0:0:15:0): Retries Exhausted
(aprobe0:ahcich0:0:0:0): SIGNATURE: 0000
ada0 at ahcich0 bus 0 target 0 lun 0
pass0 at ahcich0 bus 0 target 0 lun 0
0(freebsd-current2)%


Tried with postmark and bonnie.  Bonnie (no surprise) doesnt show any 
differences, but postmark shows some

In AHCI mode

pm>set size 300 200000
pm>set transactions 15000
pm>set location /tinderbox
pm>run
Creating files...Done
Performing transactions..........Done
Deleting files...Done
Time:
         22 seconds total
         22 seconds of transactions (681 per second)

Files:
         8005 created (363 per second)
                 Creation alone: 500 files (500 per second)
                 Mixed with transactions: 7505 files (341 per second)
         7526 read (342 per second)
         7462 appended (339 per second)
         8005 deleted (363 per second)
                 Deletion alone: 510 files (510 per second)
                 Mixed with transactions: 7495 files (340 per second)

Data:
         948.19 megabytes read (43.10 megabytes per second)
         1008.47 megabytes written (45.84 megabytes per second)
pm>set transactions 10000
pm>run
Creating files...Done
Performing transactions..........Done
Deleting files...Done
Time:
         14 seconds total
         13 seconds of transactions (769 per second)

Files:
         5555 created (396 per second)
                 Creation alone: 500 files (500 per second)
                 Mixed with transactions: 5055 files (388 per second)
         4986 read (383 per second)
         5009 appended (385 per second)
         5555 deleted (396 per second)
                 Deletion alone: 610 files (610 per second)
                 Mixed with transactions: 4945 files (380 per second)

Data:
         626.82 megabytes read (44.77 megabytes per second)
         695.69 megabytes written (49.69 megabytes per second)
pm>

and in stock kernel ATA  mode


pm>set size 300 200000
pm>set transactions 15000
pm>set location /tinderbox
pm>run
Creating files...Done
Performing transactions..........Done
Deleting files...Done
Time:
         38 seconds total
         37 seconds of transactions (405 per second)

Files:
         8005 created (210 per second)
                 Creation alone: 500 files (500 per second)
                 Mixed with transactions: 7505 files (202 per second)
         7526 read (203 per second)
         7462 appended (201 per second)
         8005 deleted (210 per second)
                 Deletion alone: 510 files (510 per second)
                 Mixed with transactions: 7495 files (202 per second)

Data:
         948.19 megabytes read (24.95 megabytes per second)
         1008.47 megabytes written (26.54 megabytes per second)
pm>
pm>set size 300 200000
pm>set transactions 10000
pm>set location /tinderbox
pm>run
Creating files...Done
Performing transactions..........Done
Deleting files...Done
Time:
         24 seconds total
         23 seconds of transactions (434 per second)

Files:
         5555 created (231 per second)
                 Creation alone: 500 files (500 per second)
                 Mixed with transactions: 5055 files (219 per second)
         4986 read (216 per second)
         5009 appended (217 per second)
         5555 deleted (231 per second)
                 Deletion alone: 610 files (610 per second)
                 Mixed with transactions: 4945 files (215 per second)

Data:
         626.82 megabytes read (26.12 megabytes per second)
         695.69 megabytes written (28.99 megabytes per second)



One small bug I noticed is that if I accidentally give camcontrol a 
bogus value, the disk subsystem seems to lock up
#camcontrol inquiry 0:0


CTRL+T in another shell session I had running gives


load: 0.00  cmd: w 1043 [ufs] 60.90r 0.00u 0.00s 0% 304k
load: 0.00  cmd: w 1043 [ufs] 61.47r 0.00u 0.00s 0% 304k
load: 0.00  cmd: w 1043 [ufs] 61.91r 0.00u 0.00s 0% 304k
load: 0.00  cmd: w 1043 [ufs] 62.25r 0.00u 0.00s 0% 304k
load: 0.00  cmd: w 1043 [ufs] 62.49r 0.00u 0.00s 0% 304k
load: 0.00  cmd: w 1043 [ufs] 63.01r 0.00u 0.00s 0% 304k
load: 0.00  cmd: w 1043 [ufs] 63.26r 0.00u 0.00s 0% 304k
load: 0.00  cmd: w 1043 [ufs] 63.44r 0.00u 0.00s 0% 304k
load: 0.00  cmd: w 1043 [ufs] 63.64r 0.00u 0.00s 0% 304k
load: 0.00  cmd: w 1043 [ufs] 63.84r 0.00u 0.00s 0% 304k

On the console, its saying
ahcich0: Timeout on slot 23
ahcich0: Timeout on slot 2
ahcich0: Timeout on slot 14
ahcich0: Timeout on slot 26
ahcich0: Timeout on slot 6
ahcich0: Timeout on slot 18
ahcich0: Timeout on slot 30

         ---Mike







--------------------------------------------------------------------
Mike Tancsa,                                      tel +1 519 651 3400
Sentex Communications,                            mike_at_sentex.net
Providing Internet since 1994                    www.sentex.net
Cambridge, Ontario Canada                         www.sentex.net/mike
Received on Thu Jul 30 2009 - 15:09:10 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:39:53 UTC