是否可以将softirq或任何其他下半部分固定到处理器上。我怀疑这可以在softirq代码中完成。 但是在驱动程序内部可以将特定的IRQ固定到a 芯
答案 0 :(得分:3)
从用户模式,您可以通过写入/proc/irq/N/smp_affinity
来控制中断所针对的处理器,从而轻松完成此操作。实现它的代码的符号虽然没有导出,但是内核很难做到(至少对于可加载的模块来说,这是大多数驱动程序的结构)。
实现函数符号未导出的事实表明内核开发人员不想鼓励这样做。可能是因为它控制了用户。并且还将关于处理器数量等的假设嵌入到驱动程序中。
所以,要回答你的问题,是的,这是可能的,但它是沮丧的,你需要做几个丑陋的"实现它的事情((a)更改内核导出,(b)将驱动程序静态链接到主内核,或(c)从内核模式打开/写入proc
文件。
实现此目的的通常方法是编写用户模式程序(甚至可以是shell脚本),将核心数字/掩码编程到相应的proc
文件中。有关详细信息,请参阅内核源目录中的Documentation/IRQ-affinity.txt
。