回答

2

在用户模式下,您可以通过写入/proc/irq/N/smp_affinity来轻松控制哪个处理器被中断指向。实现这个功能的代码的符号不会被导出,所以从内核开始很难做到这一点(至少对于一个可装载的模块来说,这是大多数驱动程序的结构)。

实现函数符号未被导出的事实表明内核开发人员不想鼓励这一点。据推测,这是因为它将控制权从用户手中带走。并且还将关于处理器数量的假设等嵌入到驱动程序中。所以,要回答你的问题,是的,这是可能的,但它是不鼓励的,你需要做一些“丑陋”的事情来实现它((a)改变内核输出,(b)链接你的驱动程序静态地插入主内核,或者(c)从内核模式打开/写入proc文件)。

实现此目的的常用方法是编写用户模式程序(甚至可以是shell脚本),将核心编号/掩码编程到合适的proc文件中。有关详细信息,请参阅内核源目录中的Documentation/IRQ-affinity.txt

相关问题