interrupt storm on irq*:

kazcor

Reigstreed Usre
Morgen *,

habe kürzlich auf 7-BETA3 updated und bin gerade dabei das halbe System neuzubasteln. Aus Langeweile neues Output vom dmesg bewundert und siehe da:
Code:
interrupt storm detected on "irq11:"; throttling interrupt source
Hmm, ist mir bisher in Sachen Performance nicht aufgefallen, aber besser mal schauen, wer der Übeltäter ist:
Code:
 vgapci0: <VGA-compatible display> port 0x3000-0x30ff mem 0xe0000000-0xe7ffffff,0xc0100000-0xc010ffff irq 11 at device 0.0 on pci1
 uhci0: <Intel 82801DB (ICH4) USB controller USB-A> port 0x1800-0x181f irq 11 at device 29.0 on pci0
 uhci1: <Intel 82801DB (ICH4) USB controller USB-B> port 0x1820-0x183f irq 11 at device 29.1 on pci0
 uhci2: <Intel 82801DB (ICH4) USB controller USB-C> port 0x1840-0x185f irq 11 at device 29.2 on pci0
 ehci0: <Intel 82801DB/L/M (ICH4) USB 2.0 controller> mem 0xc0000000-0xc00003ff irq 11 at device 29.7 on pci0
 cbb0: <PCI-CardBus Bridge> mem 0xb0000000-0xb0000fff irq 11 at device 0.0 on pci2
 em0: <Intel(R) PRO/1000 Network Connection Version - 6.7.3> port 0x8000-0x803f mem 0xc0220000-0xc023ffff,0xc0200000-0xc020ffff irq 11 at device 1.0 on pci2
 ath0: <Atheros 5212> mem 0xc0210000-0xc021ffff irq 11 at device 2.0 on pci2
:eek: Sieht so aus, als würde die 11 ziemlich gefragt sein. Ich merk zwar nicht viel davon, aber so ganz normal ist das nicht, oder? Hab zwar viele unbeachtete Varianten davon in der Suche gefunden, jedoch hat das direkt scheinbar niemanden tangiert. Habs auch schon mit acpi/apic deaktiviert versucht, wird aber nicht besser.

Wo kann ich jetzt am Besten ansetzen, um das Problem einzukreisen?

Cheers,
kaz
 
So wie ich das sehe musste da im BIOS einfach die IRQs händisch setzen, so dass netmehr mehrere Geräte den selben IRQ nutzen.
 
Yep, danke. War alles auf auto-detect, musste scheinbar alles direkt angeben. Bekomme allerdings immernoch die gleiche Meldung, jedoch diesmal nur für den IRQ der WLAN Karte, obwohl da sonst nix drauf liegt. Naja, kann auch an der 7.0-BETA3 liegen - die ist wirklich noch ganz schön beta :)
 
Kein Problem.
Es ist allgemein eh besser, IRQs händisch zu vergeben, da hat man einfach die Gewissheit, dass auch wirklich keine doppelt benutzt werden.

Haste den IRQ der WLAN Karte mal auf n anderen Wert gesetzt, also nicht 11?
 
Naja, er sucht sich ja je nach BIOS Einstellung den IRQ der quasi in der Reihenfolge der geladenen Treiber als nächstes frei ist - so kommt es mir jedenfalls vor. Wenn ich bestimmte Treiber im Kernel nicht einbinde werden jedenfalls deren IRQs an die jeweils nächste aktive Komponente vergeben.
Wenn ich die Reihenfolge im BIOS verstelle, bekommt er je nachdem also nen anderen IRQ. Hatte jetzt 5 und 7 für WLAN versucht, wobei der parallele Port ausgeschaltet ist. Gibt auch laut vmstat -i keine Konflikte, aber er meckert trotzdem. Gibt es ansonsten die Möglichkeit per Kernel hints auch für PCI Karten die IRQs zuzuweisen?
Dann könnte ich das BIOS ja ausser Acht lassen. Andererseits verstehe ich das noch nicht so recht. Ich dachte die IRQ Grenze wurde irgendwann mehr oder weniger "erweitert", wenn auch nur virtuell? Bin wie gesagt hardwaretechnisch nicht so bewandert, hatte das nur mit apic bei meinem alten System festgestellt ...
 
Dann will ich mich mal an diesen Thread ranhängen, besonders weil in den Logs ein interrupt storm wie auch ath zu finden sind, was sich auch in meinem Problem wiederfindet.

Gut: Ende Oktober eine WLAN-Karte gekauft (ath0: <Atheros 5212> mem 0xf4100000-0xf410ffff irq 9 at device 11.0 on pci1) und einwandfrei unter 6.2S in meinem Heimrouter betrieben. Wie der Threadstarter mal vor ein paar Tagen in die Logs geguckt und ebenfalls einen interrupt storm entdeckt.

Ich dachte zuerst an defekter Hardware (hatte ähnliches Problem einmal mit einer defekten ISDN-Karte), aber ich guckte weiter.

Der erste Eintrag eines interrupt storm erschien nach dem ersten Boot nach einem Upgrade auf FreeBSD 7.0 PreRelease. Die Performance sank von ca. 2.9MB/s unter 6.2S (Client ist ein Notebook HP nc2400 mit Intel 3945abg) auf ca. 500-900KB/s unter 7.0PR.

Hat FreeBSD 7.0 hier ein Problem?
 
Zuletzt bearbeitet:
Probier mal ein

# sysctl hw.intr_storm_threshold=4000

vielleicht hilft das ja schon. Bei einem Interrupt Storm wird die Hardware gedrosselt. Mit dem sysctl kannst du festlegen, welche Rate als Storm erkannt wird, vielleicht genügt das um eine Drosselung zu verhindern.
 
Du könntest mal mit einem

# ifconfig ath0 polling

die Interrupts abschalten, falls der Treiber das unterstützt. Ich halte zwar nicht so viel von polling, aber wenn man es nicht mit zu vielen Geräten betreibt ist es wohl in Ordnung.
 
Unterstützt ath wohl nicht. Egal, im Netz finden sich andere mit ähnlichen Problemen seit 7.0.

Langsam wird mein FreeBSD-Server zur Baustelle: ath macht Probleme, die Intel Pro/1000 kommt nicht auf Touren (8-10MB/sec) und das Userland-ppp nervt mich schon seit Jahren, indem es nach einem Verbindungsabbruch seitens des Providers sich nur per Sig KILL terminieren lässt, ein -ddial ist also häufig für die Tonne.
 
Hi

Polling wird von (fast) jeder Netzwerkkarte unterstützt, hatte ähnliche Probleme, und grade die ath-Devices reagiern darauf wunderbar.

Vielleicht fehlt die Polling-Unterstützung im Kernel?

Code:
options         DEVICE_POLLING  # turn on device polling, enabled with ifconfig
 
aus polling(4) (FreeBSD 7.0 PR1):
SUPPORTED DEVICES
Device polling requires explicit modifications to the device drivers. As
of this writing, the bge(4), dc(4), em(4), fwe(4), fwip(4), fxp(4),
ixgb(4), nfe(4), nge(4), re(4), rl(4), sf(4), sis(4), ste(4), stge(4),
vge(4), vr(4), and xl(4) devices are supported, with others in the works.

Und "options DEVICE_POLLING" habe ich aktiviert...

bitrouter ~ # ifconfig ath0 polling
ifconfig: polling: Invalid argument
bitrouter ~ # ifconfig em0 polling
bitrouter ~ #
 
Autsch, sorry, missverständlich ausgedrückt - meinte das Polling auf der Netzwerkkarte aktivieren hilft den ath-Devices manchmal auf die Sprünge ;)

Habe auf meinem etwas billigen Laptop Realtek-Ethernet und Atheros-WLAN -> Interrupt-Storm bei ath0 auf irq11, sobald ich das polling vom rl0 ausschalte und etwas Last auf das/die Netz(e) kriege...

Aber scheint ja auch nicht zu helfen :(
 
Hallo, ich benutze FreeBSD 7.2 auf einem Thinkpad T40 und bin durch googlen auf den Thread hier gestoßen. Ich habe ein ähnliches Problem und wollte nachfragen, ob jemand dafür schon eine Lösung gefunden hat? Ich habe anscheinend den selben Chipsatz (Atheros 5212) benutze eine Cardbus WLAN Karte. Ich konnte das Problem schon soweit eingrenzen:

Der Interrupt Storm tritt nur auf, wenn ich die WLAN Atheros Karte in meinen Laptop stecke, bevor der X-Server gestartet wurde. Wenn X11 läuft und der XDM Login Bildschirm zu sehen ist, kann ich die Cardbus WLAN Karte problemlos reinstecken, der atheros Treiber wird geladen und kein Interrupt Storm tritt auf.

Wenn die Karte allerdings schon in den Laptop gesteckt ist, bevor DRM und Radeon Treiber geladen sind, bekomme ich diesen Interrupt Storm. Anscheinend beissen sich da X11 Radeon und der ath treiber irgendwie :-/.

Gruß,

Christian
 
Zurück
Oben