Не совсем понятно, о чем вы просите.
Оставление ядер неиспользованными?
Хотя вы можете загрузить Linux, используя только подмножествоядра в машине, нет смысла делать это.Напрашивается вопрос, что будут делать неиспользуемые ядра?Они не будут доступны для программного обеспечения (приложения или кода драйвера), которое вы используете в Linux, потому что загруженный вами Linux их не использует.
Имейте в виду, что ядро - это просто процессор, который находится в том же адресном пространстве памяти, что и другие ядра.Он должен что-то запускать, и это нормально, когда на нем работают части ОС.На ядре должно быть что-то, управляющее этим (планирование того, что на нем работает).Вы не можете просто вывести поток приложения в ЦП, если у него нет чего-то, что могло бы предоставить ему службы ОС.
Core Affinity?
Если вы заинтересованы в получении контроля над сродством ядра, есть функции для управления тем, какой из ваших потоков работает на каких ядрах.Хотя я предостерегаю против них - это тонна работы для каждой модели процессора, которую вы хотите поддерживать, и вам все равно придется побороться с тем, что делает ядро Linux в любом случае.Я попробовал и сделал лишь небольшое улучшение по сравнению с тем, что Linux достиг автоматически.Это того не стоило.
Планирование в реальном времени?
Вы действительно ищете какую-то производительность в реальном времени?Лучшее, что вы можете сделать с Linux, это что-то вроде набора патчей PREEMPT_RT (я думаю, он становится все более распространенным).
В этой версии Linux драйверы устройств превращаются в потоки и, следовательно, имеют приоритет перед загрузкой, как и все остальное.Поэтому, если вы дадите потоку приложения / драйвера высокий приоритет в реальном времени, он (почти) всегда выиграет решение «что будет запланировано следующим», которое примет ядро.PREEMPT_RT также решит инверсию приоритетов, поэтому, если ваш поток заблокирован потоком с более низким приоритетом, конкурирующим за тот же ресурс, ядро сделает все возможное, чтобы разобраться.
Если задержка PREEMPT_RT недостаточно мала для васLinux - неправильный выбор.На ум приходит VxWorks.