Forum: PC Hard- und Software IRQ Verhalten P4 - C2D/i5


von Luxxer (Gast)


Lesenswert?

Hallo,

ich habe 2 4fach ISDN PCI Karten unter Ubuntu 10.04 64Bit am laufen.
Dialogic Divas 4Bri
Als Treiber verwende ich den vom Hersteller.
Diese Karten gibt es schon sehr lange ca 2002 also zu Zeiten von P4.

Nun ist es so das eine Karte im System problemlos läuft, bei 2 karten 
ich schon einträge im syslog habe:

nobody cared (try booting with the "irqpoll" option)

Darauf habe ich die Bootoption irqpoll eingebaut. Das System läuft nun 
ohne dieser Meldungen jedoch crasht gelegentlich der Treiber der Karte, 
das passiert aber nur wenn 2 Karten im System sind. Ich denke aber 
immernoch das es warscheinlich mit den IRQs probleme gibt.

Ich habe schon verschiedene Mainboards getestet das Verhalten war immer 
anders, meist schlechter. Eigentlich sollte das System auch mit einer 
schwachen CPU laufe, z.b. Celeron, was aber die Crashs sehr viel 
häufiger machte. Im Moment ist ein  i3-2120 CPU @ 3.30GHz eingebaut.

In einem C2D Quad 9550 Board wird sogar nur eine Karte erkannt. Beim 
Start kommt die Meldung das die eine sich nicht initialisieren lässt.
Die Karten sind definitiv vom Hersteller geeignet um mehrere (bis zu 8) 
in ein System eingebaut zu werden.

Ich habe noch einen alten P4 3.0Ghz in dem werde ich auch noch testen.
Eine Karte ist auf IRQ16 die andere auf 17.
War früher das IRQ Verhalten von P4 478 - Boards irgendwie anders?
Wiso läuft es mit einer Celeron CPU schlechter obwohl die immernoch um 
einiges schneller ist als ein damaliger Skt478 P4? Weniger IRQs möglich?
Kommt es auf den Chipsatz an? Der I3 hat ja eigentlich keine Northbridge 
mehr.
hat ein Serverboard ein besseres IRQ Handling? Die Karten machen ja 
ordentlich IRQs in der Zeit
uptime
 10:11:03 up 1 day, 12:11,  1 user,  load average: 0.31, 0.16, 0.11
1
root@server:~# cat /proc/interrupts
2
           CPU0       CPU1       CPU2       CPU3
3
  0:        459          0          0          0   IO-APIC-edge      timer
4
  1:          2          0          0          0   IO-APIC-edge      i8042
5
  8:          1          0          0          0   IO-APIC-edge      rtc0
6
  9:          0          0          0          0   IO-APIC-fasteoi   acpi
7
 12:          4          0          0          0   IO-APIC-edge      i8042
8
 16:    7594294    1575833          0    1117517   IO-APIC-fasteoi   ehci_hcd:usb1, DIVA 4BRI 123ser
9
 17:    1232605    5357423          0    7496155   IO-APIC-fasteoi   xhci_hcd:usb3, HDA Intel, DIVA 4BRI 234ser
10
 23:         30          0          0          0   IO-APIC-fasteoi   ehci_hcd:usb2
11
 28:       5674     709105          0     296258   PCI-MSI-edge      ahci
12
 29:       1767          0   47376208          0   PCI-MSI-edge      eth0
13
 30:          3          0          0          0   PCI-MSI-edge      radeon
14
NMI:          0          0          0          0   Non-maskable interrupts
15
LOC:   14639393  138131046   13723183    7696443   Local timer interrupts
16
SPU:          0          0          0          0   Spurious interrupts
17
PMI:          0          0          0          0   Performance monitoring interrupts
18
PND:          0          0          0          0   Performance pending work
19
RES:     743701     674493     157950     173919   Rescheduling interrupts
20
CAL:        488        599        658        802   Function call interrupts
21
TLB:       1063       3519       2909       4935   TLB shootdowns
22
TRM:          0          0          0          0   Thermal event interrupts
23
THR:          0          0          0          0   Threshold APIC interrupts
24
MCE:          0          0          0          0   Machine check exceptions
25
MCP:        435        435        435        435   Machine check polls
26
ERR:          0
27
MIS:          0

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

Durch das Verschwinden von UART und LPT auf den Mainboards hast du jetzt 
IRQ 3, 4, 5 und 7 frei. Vllt lohnt es sich, die Karten auf diese zu 
legen, damit sie exklusive IRQ haben? Oder erlauben das die Karten 
nicht?

von Εrnst B. (ernst)


Lesenswert?

Läuft bei debian standardmäßig so ein "irqbalance", das ständig an der 
IRQ-Affinität rumwurstet?
=> Versuch das mal zu unterbinden.
Dann, versuch die Karten auf möglichst eigene IRQs zu legen.
Schließlich:
mittels /proc/irq/xxx/affinity_hint o.Ä. alle Karten auf einen Core 
festnageln.
Wenn der Treiber aus der P4-Era nicht wirklich SMP-Fähig ist, hilft das 
evtl.

von Icke ®. (49636b65)


Lesenswert?

Matthias Sch. schrieb:
> Oder erlauben das die Karten nicht?

PCI-Karten können und dürfen sich ihren Interrupt gar nicht selbst 
aussuchen. Dieser wird vom ACPI-BIOS bzw. vom Betriebssystem zugeteilt. 
Laut Spec müßten sogar alle Karten problemlos mit demselben IRQ laufen, 
wenn, ja WENN der Treiber sauber programmiert ist. In der Praxis gibt es 
jedoch gelegentlich immer noch Probleme, wie man sieht. Ich würde zuerst 
nach einem aktuelleren Treiber suchen, alles andere ist 
Symptombekämpfung.

von Luxxer (Gast)


Lesenswert?

Der Tipp mit dem Treiber hat mich schonmal veranlasst etwas genauer zu 
suchen, danke. Eine Möglichkeit die Karte an einen IRQ zu binden gibt es 
scheinbar nicht. Das Irqbalance kann sein das es aktiv ist, werde ich 
mir noch anschauen.

Jedenfalls habe ich gedacht das nach der Installation des Treibers 
dieser auch verwendet wird, das ist scheinbar nicht so, es wird 
weiterhin der "alte" des Kernels geladen, der neue liegt nicht verwendet 
da. Das muß ich mir ansehen.

von Reinhard Kern (Gast)


Lesenswert?

Luxxer schrieb:
> das ist scheinbar nicht so, es wird
> weiterhin der "alte" des Kernels geladen

Wer zuerst kommt mahlt zuerst. Einen unerwünschten Kerneltreiber muss 
man ausschliessen, irgendwo in den Konfigurationsdateien, Näheres weiss 
ich im Moment auch nicht. Ist aber ein häufiges Problem, ich kenne das 
von Audiotreibern, da muss man oft eintragen dass der Standardtreiber 
nicht verwendet werden darf.

Gruss Reinhard

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

Das Laden von bestimmten Modulen wird durch eine 'blacklist' in 
/etc/modprobe.d bestimmt. Ist ein Modul dort eingetragen, wird es nicht 
geladen. Mehr dazu hier:
http://ubuntuforums.org/showthread.php?t=166624

Icke ®. schrieb:
> PCI-Karten können und dürfen sich ihren Interrupt gar nicht selbst
> aussuchen. Dieser wird vom ACPI-BIOS bzw. vom Betriebssystem zugeteilt.

Das sollte tatsächlich so sein, allerdings kenne ich es gerade von 
frühen ISDN Karten, das die Treiber nicht besonders kooperativ waren, 
wenn sie sich in eine bestehende IRQ Chain eingeklinkt haben. U.U. kann 
man im BIOS IRQs für diesen Zweck reservieren.

von Luxxer (Gast)


Lesenswert?

hmm, weiß jemand wie ich feststellen kann in welchem Verzeichniss das 
Modul liegt welches geladen wurde?

Die aktuellen Treiber liegen nicht im /lib/modules/.. Pfad.

modinfo brint immer den Pfad zu /lib/modules  auch wenn ein Modul 
garnicht geladen ist.

Die Kerneltreiber sind geblacklistet, die richtigen sollten per script 
geladen werden.

von Icke ®. (49636b65)


Lesenswert?

Matthias Sch. schrieb:
> U.U. kann man im BIOS IRQs für diesen Zweck reservieren.

Das geht aber nur für Legacy/ISA. Die IRQ-Leitungen für PCI sind auf den 
Boards fest verdrahtet und meist teilen sich mehrere Slots eine 
(Hardware)-IRQ. Das Sharing ist somit nahezu unvermeidbar. Zickigen 
Karten kommt man nur durch Umstecken in andere Slots bei, sofern sie 
sich dort nicht auch wieder mit anderen Komponenten streiten müssen. 
Siehe u.a. hier:

http://www.heise.de/ct/Redaktion/ciw/irq.html

von Luxxer (Gast)


Lesenswert?

Es wird der richtige Treiber geladen, die Blacklist wirkt, das Script 
zum laden der Treiber funktioniert.

Wiso gibt es die Kerneloption irqpoll?

Angeblich werden dadurch die Schnittstellen schneller abgefragt. Aber 
dafür habe ich doch den IRQ das die Karte PU Zeit anfordern kann, 
weshalb verliert die PU IQRs der karten ohne dieser Option?

von Luxxer (Gast)


Lesenswert?

Εrnst B✶ schrieb:
> Wenn der Treiber aus der P4-Era nicht wirklich SMP-Fähig ist, hilft das
> evtl.

Der Treiber ist Akuell, dieses Jahr sind schon 2-3 neue herausgekommen.

Das Verhalten am P4 war besser, es ist ein Skt478 Prescott 3.2GHz mit 
einem 865 Chipsatz.
Das System lief ohne Kernel Option irqpoll und brachte keine Meldungen.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.