Re[3]: Опеределение текущего CPU ядра
От: Аноним  
Дата: 10.07.11 12:04
Оценка:
Здравствуйте, netch80, Вы писали:

N>Здравствуйте, const_volatile, Вы писали:


_>>Здравствуйте, KromKromov, Вы писали:


KK>>>Пишу модуль ядра для линукс, в котором я новичок, у меня есть следующий вопрос: как можно определить на каком ядре сейчас исполняется мой код из функции модуля. Сразу скажу что код функции будет выполняется на одном ядре весь и проблем с тем что уже следующая инструкция будет исполняться на другом ядре нет.


_>>smp_processor_id() по-моему.


N>Угу. Причём это может быть даже не функция, а макрос, который читает память по смещению от %fs.


Спасибо за совет, встречный вопрос, в гугле нашел такое:
smp_processor_id() returns the current processor number, between 0 and NR_CPUS (the maximum
number of CPUs supported by Linux, currently 32). These values are not necessarily continuous: to get a
number between 0 and smp_num_cpus() (the number of actual processors in this machine), the
cpu_number_map() function is used to map the processor id to a logical number.

попробовал вызвать cpu_number_map(), функция не нашлась. Компилирую под Intel x64 и мне нужно получить именно логическое значение номера ядра, что можно сделать?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.