Здравствуйте, 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 и мне нужно получить именно логическое значение номера ядра, что можно сделать?