[Lug-bg] IRQ && smp_affinity
- Subject: [Lug-bg] IRQ && smp_affinity
- From: Момчил Иванов <momchil@xxxxxxx>
- Date: Thu, 25 Nov 2010 21:06:26 +0100
Здравейте,
имам странен проблем с ядрата и драверите за LAN картите, който доста ме озадъчава: от /proc/interrupts
CPU0 CPU1
27: 8850995 0 PCI-MSI-edge eth1
та въпросното прекъсване:
/proc/irq/27/smp_affinity: 3
Но както виждаме, прекъсванията отиват само на едно от ядрата и понеже машината се занимава главно с мрежов трафик, другото нищо не прави. Отбелязваме, че това е 2.6.34-gentoo-r12 инсталирано преди 2 дена, драйверът е e1000. Някой да знае как да го накарам да респектира маската и да доставя прекъсвания на 2-те ядра?
Проблемът е още по-грозен, ако имаме карта, която може да доставя 8 прекъсвания:
# cat /proc/interrupts
CPU0 CPU1 CPU2 CPU3 CPU4 CPU5 CPU6 CPU7
64: 1038482479 0 0 0 0 0 0 0 PCI-MSI-edge eth0-TxRx-0
65: 58 1004502391 0 0 0 0 0 0 PCI-MSI-edge eth0-TxRx-1
66: 87 0 1003489808 0 0 0 0 0 PCI-MSI-edge eth0-TxRx-2
67: 100 0 0 1003926234 0 0 0 0 PCI-MSI-edge eth0-TxRx-3
68: 70 0 0 0 998579451 0 0 0 PCI-MSI-edge eth0-TxRx-4
69: 97 0 0 0 0 999601703 0 0 PCI-MSI-edge eth0-TxRx-5
70: 83 0 0 0 0 0 1019740358 0 PCI-MSI-edge eth0-TxRx-6
71: 255 0 0 0 0 0 0 1036788901 PCI-MSI-edge eth0-TxRx-7
но тук решението както забелязвате е просто, защото имаме 8 ядра и може всяко прекъсване да го бутнем на отделно ядро:
echo 1 > /proc/irq/64/smp_affinity
echo 2 > /proc/irq/65/smp_affinity
echo 4 > /proc/irq/66/smp_affinity
echo 8 > /proc/irq/67/smp_affinity
echo 10 > /proc/irq/68/smp_affinity
echo 20 > /proc/irq/69/smp_affinity
echo 40 > /proc/irq/70/smp_affinity
echo 80 > /proc/irq/71/smp_affinity
това е от 2.6.31-gentoo-r6 с ръчно компилиран igb драйвер от Intel, за да имаме 8 прекъсвания. Но като имаме само 1 прекъсване, целим следното:
# cat /proc/interrupts
CPU0 CPU1 CPU2 CPU3 CPU4 CPU5 CPU6 CPU7
507: 180018856 180019339 180009533 180010112 180008399 180006517 180020656 180020399 PCI-MSI-edge eth0
2.6.22-gentoo-r9
/proc/irq/507/smp_affinity: ff
Някой да има идея как да го накарам да работи правилно с нови ядра? Предполагам или някъде из 2.6.2x е счупено или драйверите за intel-ските мрежови карти са счупени или аз изпускам нещо?
Благодаря,
Момчил
_______________________________________________
Lug-bg mailing list
Lug-bg@xxxxxxxxxxxxxxxxxx
http://linux-bulgaria.org/mailman/listinfo/lug-bg
|