Einrichten des lokalen Netzes, Verbindung zu anderen Computern und Diensten.
-
Kainan
- Beiträge: 5
- Registriert: 25.08.2012 08:59:09
Beitrag
von Kainan » 25.08.2012 09:35:30
Hallo,
ich versuche gerade die Interrupts meiner NIC von derzeit einem Kern auf alle zu verteilen, hier mal die Ausgabe davor
cat /proc/interrupts
Code: Alles auswählen
CPU0 CPU1 CPU2 CPU3 CPU4 CPU5 CPU6 CPU7
29: 1276 0 0 0 0 0 0 0 IR-PCI...eth0
Nachdem ich den Wert von smp_affinity auf ff (1111 1111) gesetzt habe, kommt folgende Ausgabe
cat /proc/interrupts
Code: Alles auswählen
CPU0 CPU1 CPU2 CPU3 CPU4 CPU5 CPU6 CPU7
29: 1277 0 0 0 0 0 0 0 IR-PCI...eth0
cat /proc/irq/29/smp_affinity
sollten die restlichen Kerne nicht auch irgendwelche Werte haben? Woran sehe ich, ob die Interrupts von eth0 auf alle Kerne verteilt werden?
-
FANA
- Beiträge: 482
- Registriert: 30.03.2005 17:50:55
Beitrag
von FANA » 25.08.2012 13:26:39
-
Kainan
- Beiträge: 5
- Registriert: 25.08.2012 08:59:09
Beitrag
von Kainan » 25.08.2012 14:02:05
Danke für den Link, werde ich mir mal anschauen auch wenn mir eine native Lösung lieber wäre.
-
rendegast
- Beiträge: 15041
- Registriert: 27.02.2006 16:50:33
- Lizenz eigener Beiträge: MIT Lizenz
Beitrag
von rendegast » 25.08.2012 15:55:28
Ich habe hier keine besondere Einstellung, und da schlagen die irq verteilt auf:
Code: Alles auswählen
$ cat /proc/interrupts
CPU0 CPU1
0: 366117 7729142 IO-APIC-edge timer
1: 820 84406 IO-APIC-edge i8042
7: 1 0 IO-APIC-edge parport0
8: 0 1 IO-APIC-edge rtc0
9: 0 0 IO-APIC-fasteoi acpi
12: 7749 1186680 IO-APIC-edge i8042
14: 0 0 IO-APIC-edge pata_atiixp
15: 749 86984 IO-APIC-edge pata_atiixp
16: 1 639 IO-APIC-fasteoi ohci_hcd:usb3, ohci_hcd:usb4
17: 0 0 IO-APIC-fasteoi ehci_hcd:usb1
18: 0 3 IO-APIC-fasteoi ohci_hcd:usb5, ohci_hcd:usb6, ohci_hcd:usb7
19: 0 0 IO-APIC-fasteoi ehci_hcd:usb2
20: 31 2646 IO-APIC-fasteoi firewire_ohci
22: 59755 23390355 IO-APIC-fasteoi ahci
42: 3347 679238 PCI-MSI-edge eth0
44: 131 11349 PCI-MSI-edge fglrx[0]@PCI:1:0:0
NMI: 0 0 Non-maskable interrupts
LOC: 6800616 3196285 Local timer interrupts
SPU: 0 0 Spurious interrupts
PMI: 0 0 Performance monitoring interrupts
IWI: 0 0 IRQ work interrupts
RES: 16624306 17614026 Rescheduling interrupts
CAL: 2411 1594 Function call interrupts
TLB: 222506 224044 TLB shootdowns
TRM: 0 0 Thermal event interrupts
THR: 0 0 Threshold APIC interrupts
MCE: 0 0 Machine check exceptions
MCP: 571 571 Machine check polls
(uptime 2 Tage)
Eventuell ist bei 1200 einfach noch zu früh nachgesehen,
oder das System ist so unausgelastet, daß alles locker vom ersten Kern erledigt wird.
mfg rendegast
-----------------------
Viel Eifer, viel Irrtum; weniger Eifer, weniger Irrtum; kein Eifer, kein Irrtum.
(Lin Yutang "Moment in Peking")
-
Kainan
- Beiträge: 5
- Registriert: 25.08.2012 08:59:09
Beitrag
von Kainan » 26.08.2012 09:54:53
rendegast hat geschrieben:Eventuell ist bei 1200 einfach noch zu früh nachgesehen,
oder das System ist so unausgelastet, daß alles locker vom ersten Kern erledigt wird.
Das dachte ich auch zuerst, aber dem ist leider nicht so. Ich bekomme zwar andere Kerne zugewiesen, jedoch immer nur einen. Ich habe jetzt mal irqbalancer installiert, mal sehen wie es läuft.
-
cosmac
- Beiträge: 4576
- Registriert: 28.03.2005 22:24:30
Beitrag
von cosmac » 26.08.2012 12:29:13
hi,
evt. möchte man bei manchen Netzwerkkarten die Interrupts sogar fest an eine CPU binden und evt. erzwingt der Treiber das.
'linux-3.5/Documentation/networking/cxgb.txt' hat geschrieben:
KNOWN ISSUES
============
(...)
On a system with multiple CPUs, the interrupt (IRQ) for the network
controller may be bound to more than one CPU. This will cause TCP
retransmits if the packet data were to be split across different CPUs
and re-assembled in a different order than expected.
(...)
It is highly suggested that you do not run the irqbalance daemon on your
system, as this will change any smp_affinity setting you have applied.
In
Documentation/networking/x25-iface.txt werden ähnliche Probleme erwähnt.
Beware of programmers who carry screwdrivers.