9

我很难找到有关如何为 linux 内核(及其所有加载的模块)设置 cpu 亲和性的信息,而不是针对特定进程的信息。

这是因为我希望内核一直在 CPU 0 上运行以处理 I/O 内容,而不是在其他 3 个 CPU 上运行任何开关,因为它可能会污染 L1 和 L2 缓存。

提前致谢。

努利克

4

2 回答 2

8

代表进程的内核工作将始终发生在发出请求的 CPU 上。不过,您可以控制中断。查看/proc/interrupts以识别您要移动的中断(例如所有匹配eth0的)并通过将十六进制掩码回显为 来设置亲和力/proc/irq/XXX/smp_affinity

于 2011-09-19T20:59:53.800 回答
1

您应该能够通过内核命令行选项禁用其他内核。

不在内核上运行内核意味着在该内核上也不能运行其他任何东西。没有内核调度程序和 TLB 设置 -> 没有代码执行。

于 2011-09-19T20:50:26.697 回答