Имам небивал проблем с балансирането/разпределянето на прекъсванията между процесорите при SMP/SMT машина. Конфигурация - [EMAIL PROTECTED], 2xe1000 intel cards.
HyperThreading пуснат по подразбиране от чипсета. 4 логически процесора.
Искам interrupts от едната карта да отиват на първите 2 ядра, а от втората - на следващите 2. Въпреки, че изрично е документирана такава функционалност, рутирането на прекъсванията не се случва.
echo 03 > /proc/irq/177/smp_affinity
echo 0c > /proc/irq/185/smp_affinity

Приема стойностите, битмаските са правилни, но продължава да пуска прекъсвания само на едно от 2-те ядра от така наречената група, което оставя 2 от ядрата натоварени , а други 2 на 100% idle. От кернел конфигурацията пусках и спирах 'Kernel irq balancing' , като тази опция изрично намалява производителноста. Опитах и с irqbalance, който пък е тривиален и не разбира от групиране.
Всяка една идея би била от полза.

Reply via email to