Linux-Bulgaria.ORG
навигация

 

начало

пощенски списък

архив на групата

семинари ...

документи

как да ...

 

 

Предишно писмо Следващо писмо Предишно по тема Следващо по тема По Дата По тема (thread)

[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



 

наши приятели

 

линукс за българи
http://linux-bg.org

FSA-BG
http://fsa-bg.org

OpenFest
http://openfest.org

FreeBSD BG
http://bg-freebsd.org

KDE-BG
http://kde.fsa-bg.org/

Gnome-BG
http://gnome.cult.bg/

проект OpenFMI
http://openfmi.net

NetField Forum
http://netField.ludost.net/forum/

 

 

Linux-Bulgaria.ORG

Mailing list messages are © Copyright their authors.