2015-11-26 2 views
2

Linux имеет 'cpu hotplug' функция включения/выключения процессора.cpu hotplug - есть системный вызов для отключения процессора в Linux?

Я хочу отключить один из компьютеров cpus из программы C, поэтому мой вопрос - как? Является ли это возможным ?

Here я нашел следующее:

Q: Как я логически автономный процессор?

A: Выполните следующие действия: #echo 0>/SYS/устройства/системы/CPU/cpuX/онлайн

Coudlnt найти что-нибудь о системных вызовах, хотя в этом документе, так что надеюсь, кто-то может пролить немного света об этом, спасибо!

+0

У вас возникли проблемы с записью одного символа в файл? – myaut

+0

У меня нет обратной связи, если это так. – nadavgam

ответ

1

Нет необходимости использовать syscall для отключения процессора в Linux. То, что вы нашли, является единственным методом. Но вы можете переписать сценарий оболочки ниже:

static void set_cpu_online(int cpu, int online) 
{ 
     int fd; 
     int ret; 
     char path[256]; 

     snprintf(path, sizeof(path) - 1, 
       "/sys/devices/system/cpu/cpu%d/online", cpu); 

     fd = open(path, O_RDWR); 
     assert(fd > 0); 

     ret = write(fd, "0" + (online ? 1 : 0), 1); 
     assert(ret == 1); 
} 
Смежные вопросы