开发者

setting cpu affinity for linux kernel, not process [closed]

Closed. This question is off-topic. It is not currently accepting answers.
开发者_StackOverflow中文版

Want to improve this question? Update the question so it's on-topic for Stack Overflow.

Closed 11 years ago.

Improve this question

I am having a hard time finding information about how to set cpu affinity for linux kernel (with all of its loaded modules), NOT for a specific process.

This is because I want the kernel to run on CPU 0 all the time to handle I/O stuff, and not do any switches to run on other 3 CPUs because it may pollute L1 and L2 caches.

Thanks in advance.

Nulik


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.


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.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜