代表进程的内核工作始终发生在发出请求的 CPU 上。不过,您可以控制中断。查看 /proc/interrupts 以识别要移动的中断(例如与 eth0 匹配的所有内容),并通过将十六进制掩码回显到 /proc/ 来设置关联性irq/XXX/smp_affinity。
Kernel work on behalf of processes will always happen on the CPU that makes the request. You can steer interrupts, though. Look at /proc/interrupts to identify the interrupts you want to move (say everything matching eth0) and set the affinity by echoing a hexadecimal mask to /proc/irq/XXX/smp_affinity.
发布评论
评论(2)
代表进程的内核工作始终发生在发出请求的 CPU 上。不过,您可以控制中断。查看
/proc/interrupts
以识别要移动的中断(例如与eth0
匹配的所有内容),并通过将十六进制掩码回显到/proc/ 来设置关联性irq/XXX/smp_affinity
。Kernel work on behalf of processes will always happen on the CPU that makes the request. You can steer interrupts, though. Look at
/proc/interrupts
to identify the interrupts you want to move (say everything matchingeth0
) and set the affinity by echoing a hexadecimal mask to/proc/irq/XXX/smp_affinity
.您应该能够通过内核命令行选项禁用其他内核。
不在某个核心上运行内核意味着该核心上也无法运行其他任何东西。没有内核调度程序,也没有 TLB 设置 ->没有代码执行。
You should be able to disable the other cores via a kernel command-line option.
Not having the kernel run on a core implies that nothing else can run on that core either. No kernel scheduler and no TLB setup -> no code executing.