2002-03-11 13:24:41

by Matthew Kirkwood

[permalink] [raw]
Subject: aic7xxx: Slow negotiation?

Hi,

The new aic7xxx driver (in 2.4.17, 2.5.1-pre1 and 2.5.6, at
least) negotiates only 11.626MB/s transfers from my disks.
The old one can extract 40MB/s transfers (though the disks
themselves can only do a little over 20MB/s each).

My adapter is an on-board one on my dual P3-450:

00:09.0 SCSI storage controller: Adaptec AHA-2940U/UW / AHA-39xx / AIC-7895 (rev 04)
Subsystem: Adaptec AHA-2940U/2940UW Dual AHA-394xAU/AUW/AUWD AIC-7895B
Flags: bus master, medium devsel, latency 64, IRQ 16
I/O ports at d400 [size=256]
Memory at efffe000 (32-bit, non-prefetchable) [size=4K]
Expansion ROM at effe0000 [disabled] [size=64K]
Capabilities: <available only to root>

00:09.1 SCSI storage controller: Adaptec AHA-2940U/UW / AHA-39xx / AIC-7895 (rev 04)
Subsystem: Adaptec AHA-2940U/2940UW Dual AHA-394xAU/AUW/AUWD AIC-7895B
Flags: bus master, medium devsel, latency 64, IRQ 16
I/O ports at d800 [size=256]
Memory at effff000 (32-bit, non-prefetchable) [size=4K]
Capabilities: <available only to root>


The old driver says:

(scsi0) <Adaptec AIC-7895 Ultra SCSI host adapter> found at PCI 0/9/1
(scsi0) Wide Channel B, SCSI ID=7, 32/255 SCBs
(scsi0) Downloading sequencer code... 383 instructions downloaded
(scsi1) <Adaptec AIC-7895 Ultra SCSI host adapter> found at PCI 0/9/0
(scsi1) Wide Channel A, SCSI ID=7, 32/255 SCBs
(scsi1) Downloading sequencer code... 383 instructions downloaded
scsi0 : Adaptec AHA274x/284x/294x (EISA/VLB/PCI-Fast SCSI) 5.2.4/5.2.0
<Adaptec AIC-7895 Ultra SCSI host adapter>
scsi1 : Adaptec AHA274x/284x/294x (EISA/VLB/PCI-Fast SCSI) 5.2.4/5.2.0
<Adaptec AIC-7895 Ultra SCSI host adapter>
Vendor: QUANTUM Model: ATLAS IV 9 WLS Rev: 0909
Type: Direct-Access ANSI SCSI revision: 03
Vendor: QUANTUM Model: ATLAS IV 9 WLS Rev: 0909
Type: Direct-Access ANSI SCSI revision: 03
Vendor: QUANTUM Model: ATLAS IV 9 WLS Rev: 0909
Type: Direct-Access ANSI SCSI revision: 03
(scsi0:0:0:0) Synchronous at 40.0 Mbyte/sec, offset 8.
SCSI device sda: 17942584 512-byte hdwr sectors (9187 MB)
Partition check:
sda: sda1 sda2 < sda5 sda6 sda7 sda8 >
(scsi0:0:1:0) Synchronous at 40.0 Mbyte/sec, offset 8.
SCSI device sdb: 17942584 512-byte hdwr sectors (9187 MB)
sdb: sdb1 sdb2 < sdb5 sdb6 sdb7 sdb8 sdb9 >
(scsi0:0:2:0) Synchronous at 40.0 Mbyte/sec, offset 8.
SCSI device sdc: 17942584 512-byte hdwr sectors (9187 MB)
sdc: sdc1 sdc2 < sdc5 sdc6 >


The new one offers:

scsi0 : Adaptec AIC7XXX EISA/VLB/PCI SCSI HBA DRIVER, Rev 6.2.4
<Adaptec aic7895 Ultra SCSI adapter>
aic7895C: Ultra Wide Channel B, SCSI Id=7, 32/253 SCBs

scsi1 : Adaptec AIC7XXX EISA/VLB/PCI SCSI HBA DRIVER, Rev 6.2.4
<Adaptec aic7895 Ultra SCSI adapter>
aic7895C: Ultra Wide Channel A, SCSI Id=7, 32/253 SCBs

Vendor: QUANTUM Model: ATLAS IV 9 WLS Rev: 0909
Type: Direct-Access ANSI SCSI revision: 03
(scsi0:A:0): 11.626MB/s transfers (5.813MHz, offset 8, 16bit)
Vendor: QUANTUM Model: ATLAS IV 9 WLS Rev: 0909
Type: Direct-Access ANSI SCSI revision: 03
(scsi0:A:1): 11.626MB/s transfers (5.813MHz, offset 8, 16bit)
Vendor: QUANTUM Model: ATLAS IV 9 WLS Rev: 0909
Type: Direct-Access ANSI SCSI revision: 03
(scsi0:A:2): 11.626MB/s transfers (5.813MHz, offset 8, 16bit)
scsi0:A:0:0: Tagged Queuing enabled. Depth 253
scsi0:A:1:0: Tagged Queuing enabled. Depth 253
scsi0:A:2:0: Tagged Queuing enabled. Depth 253
Attached scsi disk sda at scsi0, channel 0, id 0, lun 0
Attached scsi disk sdb at scsi0, channel 0, id 1, lun 0
Attached scsi disk sdc at scsi0, channel 0, id 2, lun 0
SCSI device sda: 17942584 512-byte hdwr sectors (9187 MB)
Partition check:
sda: sda1 sda2 < sda5 sda6 sda7 sda8 >
SCSI device sdb: 17942584 512-byte hdwr sectors (9187 MB)
sdb: sdb1 sdb2 < sdb5 sdb6 sdb7 sdb8 sdb9 >
SCSI device sdc: 17942584 512-byte hdwr sectors (9187 MB)
sdc: sdc1 sdc2 < sdc5 sdc6 >


I do have a Tekram card in here as well:

00:10.0 SCSI storage controller: Tekram Technology Co.,Ltd. TRM-S1040 (rev 01)
Subsystem: Tekram Technology Co.,Ltd. TRM-S1040
Flags: bus master, medium devsel, latency 64, IRQ 19
I/O ports at d000 [size=256]
Memory at efffc000 (32-bit, non-prefetchable) [size=4K]
Expansion ROM at effc0000 [disabled] [size=64K]
Capabilities: <available only to root>

But whether or not I remember to patch in the out-of-tree
driver doesn't seem to affect anything.

I've attached /proc/scsi/aic7xxx/0 from the old driver
(because that's what I happen to have booted at the
moment). Below is /proc/scsi/scsi.

Am I doing anything wrong or silly here?

Please let me know if there's anything else I can offer.

Cheers,
Matthew.


Attached devices:
Host: scsi0 Channel: 00 Id: 00 Lun: 00
Vendor: QUANTUM Model: ATLAS IV 9 WLS Rev: 0909
Type: Direct-Access ANSI SCSI revision: 03
Host: scsi0 Channel: 00 Id: 01 Lun: 00
Vendor: QUANTUM Model: ATLAS IV 9 WLS Rev: 0909
Type: Direct-Access ANSI SCSI revision: 03
Host: scsi0 Channel: 00 Id: 02 Lun: 00
Vendor: QUANTUM Model: ATLAS IV 9 WLS Rev: 0909
Type: Direct-Access ANSI SCSI revision: 03
Host: scsi2 Channel: 00 Id: 03 Lun: 00
Vendor: HP Model: HP35480A Rev: 1109
Type: Sequential-Access ANSI SCSI revision: 02
Host: scsi2 Channel: 00 Id: 04 Lun: 00
Vendor: YAMAHA Model: CRW6416S Rev: 1.0c
Type: CD-ROM ANSI SCSI revision: 02
Host: scsi2 Channel: 00 Id: 05 Lun: 00
Vendor: TOSHIBA Model: CD-ROM XM-6401TA Rev: 1009
Type: CD-ROM ANSI SCSI revision: 02


Attachments:
0.old (0.00 B)

2002-03-11 14:33:59

by Justin T. Gibbs

[permalink] [raw]
Subject: Re: aic7xxx: Slow negotiation?

>Hi,
>
>The new aic7xxx driver (in 2.4.17, 2.5.1-pre1 and 2.5.6, at
>least) negotiates only 11.626MB/s transfers from my disks.
>The old one can extract 40MB/s transfers (though the disks
>themselves can only do a little over 20MB/s each).

Go into SCSI-Select and change all of the sync rate values to
something other than you want. Save the changes. Reboot. Go
back into SCSI-Select and change the sync values to what you want.
The driver will then recognize them.

Some MB manufacturers using the aic7895 screwed up the initialation
of the serial eeprom while they were assembling their boards. The
old driver tries to work around this, but the work-around means
converting one of the lower sync rates into meaning "full speed".
I decided that just wasn't safe to put in the new driver.

--
Justin

2002-03-12 15:25:48

by Matthew Kirkwood

[permalink] [raw]
Subject: Re: aic7xxx: Slow negotiation?

On Mon, 11 Mar 2002, Justin T. Gibbs wrote:

> >The new aic7xxx driver (in 2.4.17, 2.5.1-pre1 and 2.5.6, at
> >least) negotiates only 11.626MB/s transfers from my disks.
> >The old one can extract 40MB/s transfers (though the disks
> >themselves can only do a little over 20MB/s each).
>
> Go into SCSI-Select and change all of the sync rate values to
> something other than you want. Save the changes. Reboot. Go back
> into SCSI-Select and change the sync values to what you want. The
> driver will then recognize them.

Worked a treat, thanks very much.

> Some MB manufacturers using the aic7895 screwed up the initialation of
> the serial eeprom while they were assembling their boards. The old
> driver tries to work around this, but the work-around means converting
> one of the lower sync rates into meaning "full speed". I decided that
> just wasn't safe to put in the new driver.

Is a warning printk() possible?

Cheers,
Matthew.

2002-03-12 15:43:48

by Justin T. Gibbs

[permalink] [raw]
Subject: Re: aic7xxx: Slow negotiation?

>> Some MB manufacturers using the aic7895 screwed up the initialation of
>> the serial eeprom while they were assembling their boards. The old
>> driver tries to work around this, but the work-around means converting
>> one of the lower sync rates into meaning "full speed". I decided that
>> just wasn't safe to put in the new driver.
>
>Is a warning printk() possible?

The printk would fire every time you chose to use this particular
negotiation rate.

--
Justin