madf 279 Posted 2010-10-07 07:50:52 Share Posted 2010-10-07 07:50:52 Уважаемый ТС. Вам тут пудрят мозги. Ни SMP Affinity ни irq balance тем более тут непричем. Обратите внимание на то как определилась ваша сетевая. 19: 51709 45412455 IO-APIC-fasteoi eth0. Одно прерывание да еще и по APIC. Одно прерывание в ядрах до 2.6.32 не может обрабатываться больше чем одним ядром. Никогда. На то оно и прерывание. Говорят с 2.6.32 появились soft очереди, но лично я не тестил еще. Для того чтобы решить вашу задачу - Вам нужно чтобы сетевая была правильно инициализирована ядром. С поддержкой MSI, MSI-X векторов. Для этого надо иметь минимум ядро 2.6 т.к. 2.4 не имеет поддержки MSI вообще. Скорее не "пудрят мозги" а сами не до конца разбираются в теме. За hint с MSI/MSI-X спасибо. Я так понимаю для его использования должна быть поддержка со стороны устройства, карты и ядра? Link to post Share on other sites
speedfire87 7 Posted 2010-10-07 10:09:25 Author Share Posted 2010-10-07 10:09:25 Тема продолжается, зашол на машину на которой проц используется равномерно так вот что там Сетевушшка d-link gigabit (если надо могу найти точную модель) 19: 449 449 IO-APIC-fasteoi uhci_hcd:usb2, ata-piix, eth0 uname -a 2.6.26-2-amd64 Кстати на моем роутере токоеже ядро u2.6.26-2-amd64 Link to post Share on other sites
KaYot 3,732 Posted 2010-10-07 12:05:18 Share Posted 2010-10-07 12:05:18 Уважаемый ТС. Вам тут пудрят мозги. Ни SMP Affinity ни irq balance тем более тут непричем. Обратите внимание на то как определилась ваша сетевая. 19: 51709 45412455 IO-APIC-fasteoi eth0. Одно прерывание да еще и по APIC. Одно прерывание в ядрах до 2.6.32 не может обрабатываться больше чем одним ядром. Никогда. На то оно и прерывание. Говорят с 2.6.32 появились soft очереди, но лично я не тестил еще. Для того чтобы решить вашу задачу - Вам нужно чтобы сетевая была правильно инициализирована ядром. С поддержкой MSI, MSI-X векторов. Для этого надо иметь минимум ядро 2.6 т.к. 2.4 не имеет поддержки MSI вообще. Извините, но бред. Стоит машина с федорой и 2.6.25 ядром, боротовые интеловские сетевки работающие с APIC_FASTIO и замечательно генерируются прерывания на любое число ядер в зависимости от smp_affinity. MSI с перрываниями вообще лишь косвенно связано, а в MSI-X появилась поддержка очередей и соответственно генерация нескольких векторов прерываний _одновременно_. Link to post Share on other sites
Dark_Angel 5 Posted 2010-10-07 12:05:23 Share Posted 2010-10-07 12:05:23 2madf: MSI, MSI-X должны уметь ядро, карта, драйвера к устройству. У интела с этим не наблюдается никаких проблем. Ядро 2.6.27 отлично с этим делом работает. Младшие ядра тоже должны. Читайте мануал к дровам интела, там толково расписано какие ядра для каких фич лучше использовать. Сами карты умеют кучу разных полезных выкрутасов делать, помимо разноса очередей по ядрам. 2kayotster: Вы разницу между APIC и MSI прерываниями улавливаете? Потому что судя по вашему посту - нет. То что прерывания генерируются на любое количество ядер говорит лишь о том, что у вас нет smp_affinity для конкретных прерываний ваших сетевых, вот их и разносит по всем ядрам. При этом прерывания генерируются _по-одному_ друг за другом, последовательно а не паралельно. Если у Вас сетевых интерфейсов в карте фактически несколько, то, да, будет столько прерываний, сколько интерфейсов проинциализированно. Для APIC. Сетевые же карты, не могут меть любое количество прерываний, на любое количество ядер, потому как прерывания на сетевых картах = количеству очередей, которая данная карта поддерживает. Чем больше очередей, тем, логичнее, дороже карта. Несколько очередей карты умеют только в режиме MSI-X. А у Вас прямо идилия какая-то. Link to post Share on other sites
KaYot 3,732 Posted 2010-10-07 12:11:13 Share Posted 2010-10-07 12:11:13 MSI умеют практически все(или все) pcie карты, но кроме этого его должен уметь еще и чипсет материнки. А вот с этим уже не так весело. Ну а MSI-X работает у интелов начиная с 82575/82576(ET board), от материнки требуется умение работать с MSI. Link to post Share on other sites
KaYot 3,732 Posted 2010-10-07 12:17:01 Share Posted 2010-10-07 12:17:01 2kayotster: Вы разницу между APIC и MSI прерываниями улавливаете? Потому что судя по вашему посту - нет. То что прерывания генерируются на любое количество ядер говорит лишь о том, что у вас нет smp_affinity для конкретных прерываний ваших сетевых, вот их и разносит по всем ядрам. При этом прерывания генерируются _по-одному_ друг за другом, последовательно а не паралельно. Естественно у меня генерируются прерывания по очереди, и ядро раскидывает их по всем ядрам из smp_affinity. ТС как раз такой режим и хочет получить, а вот не работает. Что такое APIC, MSI, MSI-X я знаю не по наслышке. Сам собирал и обслуживаю десяток серверов разного возраста с разнообразными матерями и сетевками, от простых бортовых до двухголовых intel ET, замечательно работающих в MSI-X.. Link to post Share on other sites
Dark_Angel 5 Posted 2010-10-07 12:23:54 Share Posted 2010-10-07 12:23:54 Тогда, вероятно я не прав. ТС действительно хочет одну очередь разнести зачем-то процессорам. Обычно наоборот хотят. Ну развлекайтесь тогда. Link to post Share on other sites
KaYot 3,732 Posted 2010-10-07 12:27:13 Share Posted 2010-10-07 12:27:13 [удалено] я вариантов не вижу, разве что ядро обновить теста ради. Link to post Share on other sites
speedfire87 7 Posted 2010-10-07 12:27:41 Author Share Posted 2010-10-07 12:27:41 Аж мозг закипает, я так понял проблема в матери, MSI-K9 ULTRA ? Link to post Share on other sites
KaYot 3,732 Posted 2010-10-07 12:35:17 Share Posted 2010-10-07 12:35:17 Даже если у вас получится раскидать нагрузку по ядрам лучше не станет. Будет на обоих ядрах 50% и все, те же тормоза и чудеса)) Link to post Share on other sites
speedfire87 7 Posted 2010-10-07 12:37:14 Author Share Posted 2010-10-07 12:37:14 Даже если у вас получится раскидать нагрузку по ядрам лучше не станет. Будет на обоих ядрах 50% и все, те же тормоза и чудеса)) А почему так? Link to post Share on other sites
KaYot 3,732 Posted 2010-10-07 12:48:12 Share Posted 2010-10-07 12:48:12 Потому что обработкой в один момент времени занимается одно ядро. Хоть насколько раскидайте, но больше 100% с одного ядра забрать не получится. В top'e будет 50% одно, 50% второе, но на самом деле будет несколько раз в секунду 100% одно и 0% второе и наоборот. Реально поможет или сетевка с очередями, или(возможно) ядро 2.6.35 с софтовыми очередями(RSS/RPS). Ну или еще одна сетевка, еще проще наверное) Link to post Share on other sites
KaYot 3,732 Posted 2010-10-07 12:49:27 Share Posted 2010-10-07 12:49:27 [глюк] Link to post Share on other sites
KaYot 3,732 Posted 2010-10-07 12:54:54 Share Posted 2010-10-07 12:54:54 [да что ж такое, удалите] Link to post Share on other sites
speedfire87 7 Posted 2010-10-07 15:22:26 Author Share Posted 2010-10-07 15:22:26 А в чем суть таки проблема в ядре или еще в чем то? Link to post Share on other sites
speedfire87 7 Posted 2010-10-07 16:47:29 Author Share Posted 2010-10-07 16:47:29 И как обновить ядро если можно по шагово? Link to post Share on other sites
madf 279 Posted 2010-10-08 07:33:11 Share Posted 2010-10-08 07:33:11 И как обновить ядро если можно по шагово? Ядерная физика для домохозяек. Возможно, немного старовато, но вполне актуально. Link to post Share on other sites
nallien 3 Posted 2010-10-12 07:28:06 Share Posted 2010-10-12 07:28:06 вот тоже как раз тестируем 2.6.35+ (RPS+RFS) - у нас лучше нигде не стало, я бы даже сказал хуже ( возможно не те задачи жрут большую часть времени, и разброс очередей по процам ничего не дает. ну и инфы пока мало... понятно что фишка оч полезная, но толк от нее будет только при определененных проблемах. железо - двухпроцессорный (2хXeon 2.8) 6Гб. Link to post Share on other sites
Mobius 0 Posted 2010-10-12 08:02:47 Share Posted 2010-10-12 08:02:47 Долго боролся с этой проблемой, тестил, эксперементировал пробовал и т.п. Но решил ее установкой двухголовой сетевушки на чипсете intel 82575, работает на ура. Разбросал вручную все прерывания на все 8 ядер системмы. До этого было загружено только в ядра, на две отдельные сетевые. Всем советую такое решение. Link to post Share on other sites
nallien 3 Posted 2010-10-14 20:24:17 Share Posted 2010-10-14 20:24:17 ну это понятно ) тут вопрос о другом. на новом ядре функция работает нормально, хотя в нашем случае прироста общей производительности не было, даже наоборот. а вот что стало неприятным сюрпризом - так это кернел паник. уж не знаю по каким причинам, но к дальнейшему тестированию на продакшене вернемся только после тщательной синтетики. Link to post Share on other sites
Kucher2 122 Posted 2010-10-14 20:46:13 Share Posted 2010-10-14 20:46:13 кернел паник По-моему у меня было такое на релизе FreeBSD 8.1. Сыпало в первую консоль сплошным потоком. Пропатчил и сие ушло. Патч нашёл по Гуглю. Link to post Share on other sites
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now