The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"Распределение прерываний в Linux"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы OpenNET: Виртуальная конференция (Public)
Изначальное сообщение [ Отслеживать ]

"Распределение прерываний в Linux"  
Сообщение от Lt_Flash email(ok) on 10-Янв-08, 20:53 
Всем доброго времени суток. Столкнулся с такой проблемой. Есть сервер на двух ксеонах двухъядерных, есть две встроенные сетевухи. Так вот, как я ни бился, получаю вот такое распределение прерываний:

cat /proc/interrupts
           CPU0       CPU1       CPU2       CPU3
  0:         92          0          0     920176   IO-APIC-edge      timer
  1:          0          0          0         10   IO-APIC-edge      i8042
  9:          0          0          0          0   IO-APIC-fasteoi   acpi
12:          0          0          0        105   IO-APIC-edge      i8042
14:          0          0          0       8182   IO-APIC-edge      ide0
15:          0          0          0      82386   IO-APIC-edge      ide1
16:          0          0          0   58325689   IO-APIC-fasteoi   eth0, eth1
25:          0          0          0    1221194   IO-APIC-fasteoi   eth2
NMI:          0          0          0          0
LOC:     920225     920209     920190     920171
ERR:          0

То есть обе встроенные сетевухи оказываются на одном, 16ом прерывании. Да, я знаю как переместить 16е прерывание на обработку на другой ЦПУ. Но это не снимает проблемы - в итоге тот ЦПУ, на котором это 16е прерывание объедается до 100% и начинают лагать пакеты. Загрузка достаточно большая.

В то же время есть другая машина, на Пентиум Д проце, два ядра. Тут картинка другая:

cat /proc/interrupts
           CPU0       CPU1
  0:         86          0   IO-APIC-edge      timer
  1:       2612          0   IO-APIC-edge      i8042
  8:        775          0   IO-APIC-edge      rtc
  9:          1          0   IO-APIC-fasteoi   acpi
12:        112          0   IO-APIC-edge      i8042
14:          9          0   IO-APIC-edge      ide0
16:  202278197 4078061401   IO-APIC-fasteoi   uhci_hcd:usb4, eth0, eth2
17:  145073284  195782914   IO-APIC-fasteoi   eth1
18:          0          0   IO-APIC-fasteoi   uhci_hcd:usb3
19:     145867    1176662   IO-APIC-fasteoi   uhci_hcd:usb1, ehci_hcd:usb5
20:          0          0   IO-APIC-fasteoi   uhci_hcd:usb2
NMI:          0          0
LOC:  340654287  346272838
ERR:          0
MIS:          0

Видно, что ОБА проца обслуживают 16е прерывание, где находятся одна встроенная сетевуха и одна дополнительная. В то время как вторая встроенная встала на 17е прерывание.

Всвязи с чем вопрос - есть ли какой-то способ перенести на первой машине одну из встроенных сетевух с 16го на какое-то другое прерывание и соответственно заставить работать ее отдельно? Я знаю, как вынести прерывание на другой проц, хочу чтобы допустим на 16м была одна сетевуха и обрабатывалась ЦПУ0, а вторая была на любом другом прерывании и обрабатывалась ЦПУ1 (например). Заранее благодарен всем!

ЗЫ. Покорежил чуток еще одну машину, где две ПЦИ-Е сетевухи...Там перестановка их во всех возможных комбинациях из слота в слот ничего не дала вообще - обе твердо сидели на одном и том же прерывании.

ЗЫЗЫ. Ядро вышеприведенных машин 2.6.21.7 (знаю что есть новее уже) с СМП-поддержкой, собранное из исходников с кернел.орг.

Высказать мнение | Ответить | Правка | Cообщить модератору

 Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "Распределение прерываний в Linux"  
Сообщение от Romik (??) on 10-Янв-08, 21:52 
Тут решается схожая проблема, посмотрите.
http://www.asteriskguru.com/tutorials/pci_irq_apic_tdm_ticks...
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Оцените тред (1=ужас, 5=супер)? [ 1 | 2 | 3 | 4 | 5 ] [Рекомендовать для помещения в FAQ]




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру