fixing IRQ storms (sort of solved)
Mike Tancsa
mike at sentex.net
Thu Apr 19 14:01:13 UTC 2007
At 04:47 PM 4/5/2007, Mike Tancsa wrote:
>Using
>http://lists.freebsd.org/pipermail/freebsd-bugs/2007-March/022753.html
>
>I have been able to get my GPRS card to be recognized in
>FreeBSD. However, the IRQ it has picked, seems to conflict with the
>irq of the cardbus causing an interrupt storm. Is there a way to
>make the card use a different IRQ ? I tried ORing in
>PCCARD_CFE_IRQSHARE, but it doesnt seem to make a difference.
Just to followup on this thread in case others run into this
problem. The card is "working" with the uart driver, but I am still
getting an initial interrupt storm at boot up....
...from a boot -v snippet
Elan-mmcr driver: MMCR at 0xc5b53000.
Elan-mmcr Soekris net45xx comBIOS ver. 1.28 20050527 Copyright (C) 2000-2005
pflog0: bpf attached
lo0: bpf attached
pccard0: using CIS quirks for Sierra Wireless, AC860, 3G Network Adapter, R1
pccard0: CIS version PC Card Standard 7.0
pccard0: CIS info: Sierra Wireless, AC860, 3G Network Adapter, R1
pccard0: Manufacturer code 0x192, product 0x710
pccard0: function 1: serial port, ccr addr 700 mask 73
pccard0: function 1, config table entry 34: I/O card; irq mask 3fbc;
iomask 0, iospace 3e8-3ef; io8 irqlevel
uart4: <Sierra Wireless AC860> at port 0x3e8-0x3ef irq 10 function 1
config 34 on pccard0
Interrupt storm detected on "irq10:"; throttling interrupt source
ata0-master: pio=PIO4 wdma=WDMA2 udma=UNSUPPORTED cable=40 wire
ad0: 991MB <ELITE PRO CF CARD 1GB 20070205> at ata0-master PIO4
ad0: 2030112 sectors [2014C/16H/63S] 1 sectors/interrupt 1 depth queue
And looking at vmstat -i
[datawest-soekris]# vmstat -i ;sleep 1;vmstat -i
interrupt total rate
irq0: clk 137079 993
irq4: uart0 502 3
irq8: rtc 17544 127
irq10: cbb0 uart4 128357 930
irq11: sis0 29 0
irq14: ata0 16188 117
Total 299699 2171
interrupt total rate
irq0: clk 138212 994
irq4: uart0 529 3
irq8: rtc 17689 127
irq10: cbb0 uart4 129477 931
irq11: sis0 29 0
irq14: ata0 16200 116
Total 302136 2173
Over 1,110 interrupts in one second and it will just continue that
way forever..... Yet, if I then attach to the modem, all becomes OK
after that ?!?!
# cu -l /dev/cuau4
Connected
ati3
Manufacturer: Sierra Wireless, Inc.
Model: AC860
Revision: U1_2_40ACAP G:/WS/FW/U1_2_40ACAP/MSM6275/SRC 2006/09/11 17:50:27
IMEI: 357806001674042
IMEI SV: 17
FSN: X171696267512
3GPP Release 5
+GCAP: +CGSM,+FCLASS,+DS
2007/04/19
09:57:29
OK
# vmstat -i ; sleep 1 ; vmstat -i
interrupt total rate
irq0: clk 252979 995
irq4: uart0 718 2
irq8: rtc 32377 127
irq10: cbb0 uart4 225905 889
irq11: sis0 86 0
irq14: ata0 16392 64
Total 528457 2080
interrupt total rate
irq0: clk 254064 996
irq4: uart0 745 2
irq8: rtc 32516 127
irq10: cbb0 uart4 225905 885
irq11: sis0 86 0
irq14: ata0 16392 64
Total 529708 2077
I also confirmed that if I set hw.intr_storm_threshold=0 in the
/boot/loader.conf, the Soekris does indeed lockup after displaying
the uart4 on the console.
---Mike
More information about the freebsd-hackers
mailing list