[Sysadmins] ksoftirq 99% cpu load.

=?iso-8859-1?q?ahtoh_=CE=C1_pulnet=2Eru?= =?iso-8859-1?q?ahtoh_=CE=C1_pulnet=2Eru?=
Вт Окт 14 16:21:28 UTC 2008


В сообщении от 14 октября 2008 Konstantin A. Lepikhov написал(a):
> 14.10.2008 18:13, ahtoh на pulnet.ru пишет:
> > irqbalance может распределяет прерывания например
> > от eth0 на CPU0, а от eth1 на CPU1 итд.
> > А здесь сразу по всем ядрам, что конечно лучше.
> > _______________________________________________
> > Sysadmins mailing list
> > Sysadmins на lists.altlinux.org
> > https://lists.altlinux.org/mailman/listinfo/sysadmins
>
> Вы это сами только что придумали?
> _______________________________________________
> Sysadmins mailing list
> Sysadmins на lists.altlinux.org
> https://lists.altlinux.org/mailman/listinfo/sysadmins

Вот /proc/interrupts c запущенным irqbalance ядро 2.6.18

           CPU0       CPU1       CPU2       CPU3
  0:   14736893          0     253682    4383039    IO-APIC-edge  timer
  1:       2393          0          0          0    IO-APIC-edge  i8042
  6:          3          0          0          0    IO-APIC-edge  floppy
  8:          1          0          0          0    IO-APIC-edge  rtc
  9:          1          0          0          0   IO-APIC-level  acpi
 14:         61          0          0          0    IO-APIC-edge  ide0
 58:  339791237  110911999          0          0         PCI-MSI  eth0
 66:  437172012          0          0          0         PCI-MSI  eth1
169:     175988          0       1648    2087386   IO-APIC-level  ioc0
NMI:      35854       9985        453        541
LOC:   19374644   19375064   19375160   19374988
ERR:          0
MIS:          0

Как видно прерывания от определенных системных устройств
распределены строго по определённым ядрам.

А вот 2.6.24-std-smp-def

           CPU0       CPU1       CPU2       CPU3
  0:         29          0          0          0   IO-APIC-edge      timer
  1:          1          0          1          0   IO-APIC-edge      i8042
  8:          0          1          0          0   IO-APIC-edge      rtc
  9:          0          0          0          1   IO-APIC-fasteoi   acpi
 12:          0          1          1          2   IO-APIC-edge      i8042
 17:          0          0          0          0   IO-APIC-fasteoi   
uhci_hcd:usb3, ehci_hcd:usb4
 18:          0          0          0          0   IO-APIC-fasteoi   libata, 
uhci_hcd:usb1, uhci_hcd:usb7
 19:          0          0          0          0   IO-APIC-fasteoi   
uhci_hcd:usb6
 21:      88026      87808      88783      89463   IO-APIC-fasteoi   libata, 
libata, uhci_hcd:usb2
 23:          0          0          0          0   IO-APIC-fasteoi   
uhci_hcd:usb5, ehci_hcd:usb8
2298: 1602881384 1602881600 1602880626 1602879945   PCI-MSI-edge      eth0
NMI:          0          0          0          0   Non-maskable interrupts
LOC:   35594469   15987382   18652239    9478400   Local timer interrupts
RES:        666       1473        745       1531   Rescheduling interrupts
CAL:       1425       1446       1447        191   function call interrupts
TLB:       1421       1537       1471       1578   TLB shootdowns
TRM:          0          0          0          0   Thermal event interrupts
THR:          0          0          0          0   Threshold APIC interrupts
SPU:          0          0          0          0   Spurious interrupts
ERR:          0

Видно, что все ядра поочередно учавствуют в обработке прерываний от одного 
устройства.

Или я не прав?



Подробная информация о списке рассылки Sysadmins