我正在编写一个内核模块,它试图为给定的 cpu 获取当前任务,例如,
for_each_possible_cpu(cpu)
{
p = curr_task(cpu);
printk("current task on cpu %d is %d\n", cpu, p->pid);
}
在我们的内核模块中,我们只能使用导出的函数符号,或者我们可以在我们的模块中从系统映射中硬编码内核函数地址,然后使用它。
现在我只找到了 IA64 的 curr_task 函数,对于 X86_32,如何在给定的 cpu 上获取当前任务?谢谢。
最佳答案
你可以这样做:
struct task_struct *task;
task=per_cpu(current_task, cpu_id);
这个可以得到“per_cpu##current_task”,表示指定cpu中的cur_task。 这可能会满足您的要求。
关于linux - 如何在 SMP linux 中获取给定 cpu 的当前任务?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11635234/