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 ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.