aic7xxx: Bug introduced in 2.2.15/2.3.99 ?

From: Andreas Steffan (deas@programmfabrik.de)
Date: Wed May 17 2000 - 02:58:23 EST


Hi

It seems like 2.2.15/2.3.99 introduce a problem with the aic7xxx driver.
Our boxes are running flawlessly with 2.2.14, but have irq problems
with 2.2.15 and 2.3.99-pre. We get messages like the following:

enable_irq() unbalanced from d0030b0e

when the driver is compiled as a module and the boxes lock up hard.
The problem occurs when we put PCI NICs in the boxes, no matter
what kind of NIC.

[root@krusty /root]# cat /proc/scsi/aic7xxx/{1,2}
Adaptec AIC7xxx driver version: 5.1.21/3.2.4
Compile Options:
  TCQ Enabled By Default : Enabled
  AIC7XXX_PROC_STATS : Enabled
  AIC7XXX_RESET_DELAY : 5

Adapter Configuration:
           SCSI Adapter: Adaptec AIC-7850 SCSI host adapter
                           Narrow Controller
    PCI MMAPed I/O Base: 0xdd002000
    PCI Bus 0x00 Device 0x68
 Adapter SEEPROM Config: SEEPROM not found, using defaults.
      Adaptec SCSI BIOS: Disabled
                    IRQ: 11
                   SCBs: Active 0, Max Active 1,
                         Allocated 15, HW 3, Page 255
             Interrupts: 21
      BIOS Control Word: 0x0000
   Adapter Control Word: 0x0000
   Extended Translation: Disabled
Disconnect Enable Flags: 0x00ff
 Tag Queue Enable Flags: 0x0000
Ordered Queue Tag Flags: 0x0000
Default Tag Queue Depth: 8
    Tagged Queue By Device array for aic7xxx host instance 0:
      {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}
    Actual queue depth per device for aic7xxx host instance 0:
      {1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1}
 
Statistics:
 
Adaptec AIC7xxx driver version: 5.1.21/3.2.4
Compile Options:
  TCQ Enabled By Default : Enabled
  AIC7XXX_PROC_STATS : Enabled
  AIC7XXX_RESET_DELAY : 5
 
Adapter Configuration:
           SCSI Adapter: Adaptec AIC-7850 SCSI host adapter
                           Narrow Controller
    PCI MMAPed I/O Base: 0xdd003000
    PCI Bus 0x00 Device 0x78
 Adapter SEEPROM Config: SEEPROM not found, using defaults.
      Adaptec SCSI BIOS: Disabled
                    IRQ: 11
                   SCBs: Active 0, Max Active 1,
                         Allocated 15, HW 3, Page 255
             Interrupts: 516555
      BIOS Control Word: 0x0000
   Adapter Control Word: 0x0000
   Extended Translation: Disabled
Disconnect Enable Flags: 0x00ff
 Tag Queue Enable Flags: 0x0000
Ordered Queue Tag Flags: 0x0000
Default Tag Queue Depth: 8
    Tagged Queue By Device array for aic7xxx host instance 1:
      {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}
    Actual queue depth per device for aic7xxx host instance 1:
      {1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1}
 
Statistics:
 
(scsi2:0:0:0)
  Device using Narrow/Sync transfers at 10.0 MByte/sec, offset 15
  Transinfo settings: current(25/15/0/0), goal(25/15/0/0),
user(25/15/0/0)
  Total transfers 516287 (4 reads and 516283 writes)
             < 2K 2K+ 4K+ 8K+ 16K+ 32K+ 64K+
128K+
   Reads: 0 0 0 0 0 4 0
0
  Writes: 0 0 0 29 79 516175 0
0
 
 
[root@krusty /root]# cat /proc/pci
PCI devices found:
  Bus 0, device 0, function 0:
    Host bridge: VIA Technologies Unknown device (rev 2).
      Vendor id=1106. Device id=391.
      Medium devsel. Master Capable. No bursts.
      Prefetchable 32 bit memory at 0xd8000000 [0xd8000008].
  Bus 0, device 1, function 0:
    PCI bridge: VIA Technologies Unknown device (rev 0).
      Vendor id=1106. Device id=8391.
      Medium devsel. Master Capable. No bursts. Min Gnt=12.
  Bus 0, device 7, function 0:
    ISA bridge: VIA Technologies Unknown device (rev 33).
      Vendor id=1106. Device id=686.
      Medium devsel. Master Capable. No bursts.
  Bus 0, device 7, function 1:
    IDE interface: VIA Technologies VT 82C586 Apollo IDE (rev 16).
      Medium devsel. Fast back-to-back capable. Master Capable.
Latency=32.
      I/O at 0xd000 [0xd001].
  Bus 0, device 7, function 2:
    USB Controller: VIA Technologies VT 82C586 Apollo USB (rev 16).
      Medium devsel. IRQ 10. Master Capable. Latency=32.
      I/O at 0xd400 [0xd401].
  Bus 0, device 7, function 3:
    USB Controller: VIA Technologies VT 82C586 Apollo USB (rev 16).
      Medium devsel. IRQ 10. Master Capable. Latency=32.
      I/O at 0xd800 [0xd801].
  Bus 0, device 7, function 4:
    Host bridge: VIA Technologies Unknown device (rev 48).
      Vendor id=1106. Device id=3057.
      Medium devsel. Fast back-to-back capable.
  Bus 0, device 9, function 0:
    Ethernet controller: DEC DC21142 (rev 65).
      Medium devsel. Fast back-to-back capable. IRQ 12. Master
Capable. Latency=32.
Min Gnt=20.Max Lat=40.
      I/O at 0xdc00 [0xdc01].
      Non-prefetchable 32 bit memory at 0xdd000000 [0xdd000000].
  Bus 0, device 11, function 0:
    Ethernet controller: DEC DC21142 (rev 65).
      Medium devsel. Fast back-to-back capable. IRQ 10. Master
Capable. Latency=32.
Min Gnt=20.Max Lat=40.
      I/O at 0xe000 [0xe001].
      Non-prefetchable 32 bit memory at 0xdd001000 [0xdd001000].
  Bus 0, device 13, function 0:
    SCSI storage controller: Adaptec AIC-7850 (rev 3).
      Medium devsel. Fast back-to-back capable. IRQ 11. Master
Capable. Latency=32.
Min Gnt=4.Max Lat=4.
      I/O at 0xe400 [0xe401].
      Non-prefetchable 32 bit memory at 0xdd002000 [0xdd002000].
  Bus 0, device 15, function 0:
    SCSI storage controller: Adaptec AIC-7850 (rev 3).
      Medium devsel. Fast back-to-back capable. IRQ 11. Master
Capable. Latency=32.
Min Gnt=4.Max Lat=4.
      I/O at 0xe800 [0xe801].
      Non-prefetchable 32 bit memory at 0xdd003000 [0xdd003000].
  Bus 0, device 17, function 0:
    SCSI storage controller: NCR 53c895 (rev 1).
      Medium devsel. IRQ 15. Master Capable. Latency=32. Min
Gnt=30.Max Lat=64.
      I/O at 0xec00 [0xec01].
      Non-prefetchable 32 bit memory at 0xdd004000 [0xdd004000].
      Non-prefetchable 32 bit memory at 0xdd005000 [0xdd005000].
  Bus 1, device 0, function 0:
    VGA compatible controller: S3 Inc. Unknown device (rev 2).
      Vendor id=5333. Device id=8a13.
      Medium devsel. Master Capable. Latency=32. Min Gnt=4.Max
Lat=255.
      Non-prefetchable 32 bit memory at 0xd0000000 [0xd0000000].
[root@krusty /root]# uname -r
2.2.14
[root@krusty /root]#

BTW: Is it possible, that the driver has problems with lseek() ?

Here is the output from another box (bild-os1) which is very slow,
compared to xxp2 which uses the gdth driver. bild-os1 has a Hitachi
DKC310
disk subsystem attached to the Adaptec 2944 HVD Adapter.

              -------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
bild-os1 2000 5068 69.1 8361 7.7 4577 11.7 7245 94.0 12657 12.3
47.2 1.5
xxp2 2000 7943 82.1 6163 4.0 4961 8.9 6940 70.1 13992 9.5
365.2 3.2

bild-os1 /dev/sda2 6.7G 1.4G 5.0G 21%
/var/axp/bilder/lowres2
xxp2 /dev/sda5 201G 49G 142G 26% /var

[root@bild-os1 /root]# cat /proc/scsi/aic7xxx/0
Adaptec AIC7xxx driver version: 5.1.21/3.2.4
Compile Options:
  TCQ Enabled By Default : Disabled
  AIC7XXX_PROC_STATS : Enabled
  AIC7XXX_RESET_DELAY : 5
 
Adapter Configuration:
           SCSI Adapter: Adaptec AHA-2944 Ultra SCSI host adapter
                           Ultra Wide Controller
    PCI MMAPed I/O Base: 0xfa000000
    PCI Bus 0x00 Device 0x38
 Adapter SEEPROM Config: SEEPROM found and used.
      Adaptec SCSI BIOS: Enabled
                    IRQ: 17
                   SCBs: Active 1, Max Active 2,
                         Allocated 30, HW 16, Page 255
             Interrupts: 44711044
      BIOS Control Word: 0x18a6
   Adapter Control Word: 0x005f
   Extended Translation: Enabled
Disconnect Enable Flags: 0xffff
     Ultra Enable Flags: 0x0041
 Tag Queue Enable Flags: 0x0000
Ordered Queue Tag Flags: 0x0000
Default Tag Queue Depth: 8
    Tagged Queue By Device array for aic7xxx host instance 0:
      {255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255}
    Actual queue depth per device for aic7xxx host instance 0:
      {1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1}
 
Statistics:
 
(scsi0:0:0:0)
  Device using Wide/Sync transfers at 40.0 MByte/sec, offset 8
  Transinfo settings: current(12/8/1/0), goal(12/8/1/0), user(12/15/1/0)
  Total transfers 25914991 (14426674 reads and 11488317 writes)
             < 2K 2K+ 4K+ 8K+ 16K+ 32K+ 64K+
128K+
   Reads: 10039510 353901 1313813 912254 467831 466590 872775
0
  Writes: 7110478 989071 3083649 113648 57687 43585 90199
0
 
 
(scsi0:0:6:0)
  Device using Wide/Sync transfers at 40.0 MByte/sec, offset 8
  Transinfo settings: current(12/8/1/0), goal(12/8/1/0), user(12/15/1/0)
  Total transfers 18795918 (1401792 reads and 17394126 writes)
             < 2K 2K+ 4K+ 8K+ 16K+ 32K+ 64K+
128K+
   Reads: 661894 96573 189770 212965 80938 70124 89528
0
  Writes: 16149161 853803 145409 39536 21925 24965 159327
0
 
 
[root@bild-os1 /root]# cat /proc/scsi/scsi
Attached devices:
Host: scsi0 Channel: 00 Id: 00 Lun: 00
  Vendor: HITACHI Model: OPEN-9 Rev: 5238
  Type: Direct-Access ANSI SCSI revision: 02
Host: scsi0 Channel: 00 Id: 00 Lun: 01
  Vendor: HITACHI Model: OPEN-9 Rev: 5238
  Type: Direct-Access ANSI SCSI revision: 02
Host: scsi0 Channel: 00 Id: 00 Lun: 02
  Vendor: HITACHI Model: OPEN-9 Rev: 5238
  Type: Direct-Access ANSI SCSI revision: 02
Host: scsi0 Channel: 00 Id: 00 Lun: 03
  Vendor: HITACHI Model: OPEN-9*2 Rev: 5238
  Type: Direct-Access ANSI SCSI revision: 02
Host: scsi0 Channel: 00 Id: 00 Lun: 04
  Vendor: HITACHI Model: OPEN-9 Rev: 5238
  Type: Direct-Access ANSI SCSI revision: 02
Host: scsi0 Channel: 00 Id: 00 Lun: 05
  Vendor: HITACHI Model: OPEN-9*7 Rev: 5238
  Type: Direct-Access ANSI SCSI revision: 02
Host: scsi0 Channel: 00 Id: 06 Lun: 00
  Vendor: HITACHI Model: OPEN-9 Rev: 5238
  Type: Direct-Access ANSI SCSI revision: 02
Host: scsi1 Channel: 00 Id: 05 Lun: 00
  Vendor: Quantum Model: DLT4000 Rev: D474
  Type: Sequential-Access ANSI SCSI revision: 02
Host: scsi1 Channel: 00 Id: 06 Lun: 00
  Vendor: Quantum Model: DLT4000 Rev: D474
  Type: Sequential-Access ANSI SCSI revision: 02
[root@bild-os1 /root]# uname -r
2.2.14
[root@bild-os1 /root]#

Just let me know if you need more input.

Please CC answers to my adress.

-- 
TNX Andreas

+-----------------------------------------------------------+ |Andreas Steffan Email: deas@programmfabrik.de | | fon : +4940 22947561 | |Hamburg, Germany mobil: +49179 3903615 | +-----------------------------------------------------------+

- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Tue May 23 2000 - 21:00:12 EST