Как установить сходство процесса из режима ядра Linux?
Как установить привязку процессора к процессу в модуле ядра? В пользовательском режиме есть системный вызов sched_setaffinity
, но я ищу эквивалент режима ядра.
В коде ядра Linux также есть функция sched_setaffinity
, Это называется из sys_sched_setaffinity
функция, которая вызывается system_call
, Судя по всему, это функция, которую я хочу использовать. Однако тот факт, что он имеет то же имя, что и системный вызов, вызывает у меня некоторое беспокойство.
Но, как мы все знаем, лучше всего просто попробовать. Я так и сделал, и мой модуль скомпилирован. Однако, когда я пытаюсь загрузить модуль, он жалуется, что имя sched_setaffinity
не определено
1 ответ
sched_setaffinity
не экспортируется в модули.
Если вы измените /usr/src/linux/kernel/sched.c
Вы можете вызвать sched_setaffinity
экспортироваться в модули.
long sched_setaffinity(pid_t pid, const struct cpumask *in_mask)
{
...
}
+EXPORT_SYMBOL_GPL(sched_setaffinity);