откат до irqbalance-0.55-alt3 ситуацию исправляет. Ядро 2.6.32-ovz-el-alt40.M60P.2 Надо заметить, что S5500BC - первая плата от Intel, из тех, что когда-либо попадали мне в руки, у которой прерывания от устройств, если ничего не предпринимать, обрабатываются только на CPU0. До этого было всегда хоть какое-то распределение по разным ядрам/процессорам. При этом, с ядром 2.6.18 (пробовал ставить 5.1 и ядро оттуда) некоторое распределение прерываний по ядрам присутствует тоже (без irqbalance, само по себе). Если посмотреть strace-ом, то видно, что irqbalance 0.55 в smp_affinity пишет маски, соответствующие одиночным процессорам: open("/proc/irq/65/smp_affinity", O_WRONLY|O_CREAT|O_TRUNC, 0666) = 3 fstat(3, {st_mode=S_IFREG|0600, st_size=0, ...}) = 0 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f236de3e000 write(3, "00000002", 8) = 8 close(3) = 0 munmap(0x7f236de3e000, 4096) = 0 open("/proc/irq/70/smp_affinity", O_WRONLY|O_CREAT|O_TRUNC, 0666) = 3 fstat(3, {st_mode=S_IFREG|0600, st_size=0, ...}) = 0 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f236de3e000 write(3, "00000001", 8) = 8 close(3) = 0 munmap(0x7f236de3e000, 4096) = 0 open("/proc/irq/69/smp_affinity", O_WRONLY|O_CREAT|O_TRUNC, 0666) = 3 fstat(3, {st_mode=S_IFREG|0600, st_size=0, ...}) = 0 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f236de3e000 write(3, "00000004", 8) = 8 close(3) = 0 В случае irqbalance 0.56 пишется маска 00ffffff: open("/proc/irq/65/smp_affinity", O_WRONLY|O_CREAT|O_TRUNC, 0666) = 3 fstat(3, {st_mode=S_IFREG|0600, st_size=0, ...}) = 0 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f85b1474000 write(3, "00ffffff", 8) = 8 close(3) = 0 munmap(0x7f85b1474000, 4096) = 0 open("/proc/irq/70/smp_affinity", O_WRONLY|O_CREAT|O_TRUNC, 0666) = 3 fstat(3, {st_mode=S_IFREG|0600, st_size=0, ...}) = 0 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f85b1474000 write(3, "00ffffff", 8) = 8 close(3) = 0 munmap(0x7f85b1474000, 4096) = 0 open("/proc/irq/69/smp_affinity", O_WRONLY|O_CREAT|O_TRUNC, 0666) = 3 fstat(3, {st_mode=S_IFREG|0600, st_size=0, ...}) = 0 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f85b1474000 write(3, "00ffffff", 8) = 8 close(3) = 0
Оказывается они на гуглекод переехали. Собрал последнюю версию. Попробуйте http://git.altlinux.org/tasks/64846/
(In reply to comment #1) > Оказывается они на гуглекод переехали. Собрал последнюю версию. > Попробуйте http://git.altlinux.org/tasks/64846/ Почему-то только по CPU0/CPU1 раскидывает. 0.55 раскидывает по всем. Там никаких ограничений нет по-умолчанию ?
Может ну его эти костыли в виде irqbalance? Если убрать CONFIG_HOTPLUG_CPU=y то ядро должно само распределять прерывания по всем ядрам и никакое ручное управление не понадобится
На других материнках что-то распределяет прерывания и так. Тут, скорее, исключение S5500BC. Можно попробовать дождаться выхода нового RHEL и посмотреть, как Intel с RH договариваться будут. :-) А обновить irqbalance, думаю, стоит: два ядра - всё не одно. Михаила только дождаться, раз он тоже пользуется. А то, вдруг, у него что-то обнаружится.
(In reply to comment #1) > Оказывается они на гуглекод переехали. Собрал последнюю версию. > Попробуйте http://git.altlinux.org/tasks/64846/ Закидывай. (In reply to comment #4) > А обновить irqbalance, думаю, стоит: два ядра - всё не одно. Михаила только > дождаться, раз он тоже пользуется. А то, вдруг, у него что-то обнаружится. Если бы было критично, стоял бы более жёсткий ACL, наверное :)
irqbalance-1.0.3-alt1 -> sisyphus: * Sun Feb 19 2012 Slava Dubrovskiy <dubrsl@altlinux> 1.0.3-alt1 - new version from new URL location - migrate to git source, update spec - add BuildRequires for libcap-ng-devel libnuma-devel - add service for systemd - fix (ALT #26959 26962)