LINUX.ORG.RU

Прерывания не делятся.


0

0
Есть сервер с двумя сетевыми и двумя зионами по 4 ядра, итого 8. Платформа - Intel. На прерывания сетевых карт smp_affinity стоит ff. Прерывания при это четко делятся по всем 8 ядрам. Всё просто отлично! Момент номер два. Сервер такой же (винт перенесен) на платформе AMD. Общее число ядер - 4, smp_affinity - f. При этом жуткая разбалансировка нагрузки - на одном ядре 90% прерываний от карточки, на втором - 5. На втором проце таже фигня. Всякие irqbalance (что юзерспейс, что в ядре) не решают проблемы. Кто виноват и что делать?
Ответ на: комментарий от tzukko
Хм. Прикольно. На C2Q всё чётко по 4-м ядрам поровну делится.

А на одноядернике с HT все прерывания на одном ядре. Так и должно быть? :)
KRoN73 ★★★★★
()
Ответ на: комментарий от z0D5e8n7x_2
Как уже сказали, нативный метод: watch -n "cat /proc/interrupts", но для наглядности я смотрю по процессорам (ядрам): mpstat -P ALL
Dmitry76 ★
() автор топика
Ответ на: комментарий от KRoN73
>Хм. Прикольно. На C2Q всё чётко по 4-м ядрам поровну делится.

Я не настолько спец, я только учусь =)
Вообще, настраивается, примерно так: http://www.mjmwired.net/kernel/Documentation/IRQ-affinity.txt
Видимо автору топика надо попробовать вкатить smp_affinity на прерывание сетевух ffffffff.
Надо дождаться ядерных спецов, у нас, на лоре, есть они =)

>А на одноядернике с HT все прерывания на одном ядре. Так и должно быть? :)


Ну, думаю - это без разницы =)
tzukko ★
()
Ответ на: комментарий от KRoN73
>А на одноядернике с HT все прерывания на одном ядре. Так и должно быть? :)

у меня также, я думаю это норма

z0D5e8n7x_2 ★
()
Ответ на: комментарий от tzukko
>Видимо автору топика надо попробовать вкатить smp_affinity на прерывание сетевух ffffffff. Так оно и так стоит. Пробовал ставить маску, чтобы на одном проце (2 ядра) была одна карта, а на втором (другая), т.е. выставлял 3 и c соответственно - делит. Но как делит... На одном ядре 100 прерываний в секунду, на втором - 10000. С этой же сетевой на Интеле - все зашибись, всё поровну. На том же дистрибутиве. Соотвественно, нагрузка плавнее "размазывается" по ядрам. Я думаю, что проблема где-то в аппаратной реализации контроллера прерываний на конкретной материнке (производитель Tyan). Конкретнее не могу сказать. PS. Обещали дать на тестирование платформу на Core i7, посмотрю как там будет...
Dmitry76 ★
() автор топика
Ответ на: комментарий от gods-little-toy
Хорошо, перефразирую:

«на *одноядернике* с HT все прерывания на одном (из двух) *виртуальном* ядре. Так и должно быть? :)»
KRoN73 ★★★★★
()
Вы не можете добавлять комментарии в эту тему: топик перемещен в архив.