Я хотел отключить одно из ядер с помощью оболочки Linux, поэтому я использовал команду:
echo 0 | sudo tee /sys/devices/system/cpu/cpu63/online
Оно появилось в автономных ядрах с lscpu
, и я больше не мог устанавливать поток на этом ядре с помощью метода sched_setaffinity
. Так это сработало. Однако теперь я хочу снова включить это ядро с помощью команды:
echo 1 | sudo tee /sys/devices/system/cpu/cpu63/online
В lscpu
Я вижу это ядро в онлайн ядрах. Однако, пытаясь вызвать sched_setaffinity
в том же ядре, в результате выдает -1. До отключения ядра этот метод работал нормально. также я не вижу это ядро с lstopo
, оно больше не появляется в NUMA.
Я тестирую на сервере Skylake с двумя NUMA.
После перезагрузки это ядро, конечно, появится, но почему не работает разрешающая команда? или мне нужно что-то еще сделать, чтобы он работал правильно?