Имам небивал проблем с балансирането/разпределянето на прекъсванията
между процесорите при 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,
който пък е тривиален и не разбира от групиране.
Всяка една идея би била от полза.