2001-04-10 03:14:50

by e-double

[permalink] [raw]
Subject: AIC7XXX oddities

Greetings,
I've been using the new aic7xxx driver, and updating frequently from Justin's site. I'm at v6.1.11 now with kernel 2.4.3 and still experiencing some odd behaviour. For example, I start as such on BUS 0 (an aic-29160):
Channel A Target 5 Negotiation Settings
User: 160.000MB/s transfers (80.000MHz DT, offset 255, 16bit)
Goal: 160.000MB/s transfers (80.000MHz DT, offset 63, 16bit)
Curr: 160.000MB/s transfers (80.000MHz DT, offset 63, 16bit)
Channel A Target 5 Lun 0 Settings
Commands Queued 13199
Commands Active 0
Command Openings 49
Max Tagged Openings 253
Device Queue Frozen Count 0
After an invocation of cdrecord --scanbus
dmesg reveals this on BUS1 (an aha-2940u2w):
(scsi1:A:1): 5.000MB/s transfers (5.000MHz, offset 15)
(scsi1:A:6): 20.000MB/s transfers (20.000MHz, offset 15)
(locating burner at 6, and zip at 5)

An invocation of hdparm -Tt /dev/sda (id 5) does this:

(scsi1:A:1): 5.000MB/s transfers (5.000MHz, offset 15)
(scsi1:A:6): 20.000MB/s transfers (20.000MHz, offset 15)
(scsi0:A:5): 3.300MB/s transfers

cat /proc/scsi/aic7xxx/0 :
Channel A Target 5 Negotiation Settings
User: 160.000MB/s transfers (80.000MHz DT, offset 255, 16bit)
Goal: 3.300MB/s transfers
Curr: 3.300MB/s transfers
Channel A Target 5 Lun 0 Settings
Commands Queued 16817
Commands Active 0
Command Openings 49
Max Tagged Openings 253
Device Queue Frozen Count 0

Target 5 has dropped to 3.300MB/s ??

thanks,

Ethan W.


---------------------------------------------------
Get free personalized email at http://www.iname.com


2001-04-10 12:34:42

by Justin T. Gibbs

[permalink] [raw]
Subject: Re: AIC7XXX oddities

>An invocation of hdparm -Tt /dev/sda (id 5) does this:
>
>(scsi1:A:1): 5.000MB/s transfers (5.000MHz, offset 15)
>(scsi1:A:6): 20.000MB/s transfers (20.000MHz, offset 15)
>(scsi0:A:5): 3.300MB/s transfers

The situation might be clearer if you run with aic7xxx=verbose.
My guess is that the target detected a CRC error a transaction
and negotiated async as an indication that the initiator should
perform domain validation on this bus segment again. Unfortunatly,
the driver doesn't yet support domain validation, so you end up
being stuck at 3.3MB/s. I would suggest looking for problems with
your cabling or termination on that controller.

--
Justin