Имеется 4-х ядерник i7-2600K с 8-ю потоками, в системе видны как «processor : 0-7». В последнее время в ядре что-то изменилось, и при имеющихся настройках конфига ядра оно перестало распределять задачи кроме как на «processor 0». Какая-то настройка конфига ядра это исправляет, но я пока никак не могу понять какая именно. Логично было бы смотреть в сторону планировщика задач, но я что-то с удивлением не могу обнаружить такового. Даже планировщик I/O есть, а что отвечает за распределение процессов по виртуальным процам непонятно. На всякий случай ещё раз уточню: допустим, я запускаю «make -j9», оно запускает ряд отдельных процессов, но все они, несмотря на их ресурсоёмкость, висят именно на 0-м виртуальном проце, а виртуальные процы 1-7 простаивают (нагрузка 0%).
Да, всё в системе присутствует и не отключено. Проблема не в том, что ядро что-то не видит, а в том, что не хочет равномерно распределять задачи.
# for i in `seq 0 7`; do cat /sys/devices/system/cpu/cpu$i/online ; done
1
1
1
1
1
1
1
1
# for i in `seq 0 7`; do cat /sys/devices/system/cpu/cpu$i/cpufreq/cpuinfo_cur_freq ; done
1599859
1599992
1832148
1829226
1834007
1831617
1835734
1832945
UPD. Даже taskset корректно работает.