What you are looking for is CPU “affinity”. Beware that if the process is for actual hardware via a hardware IRQ, then results may not be as flexible as those which run in software (e.g., some kernel drivers are purely software, whereas others require directly talking to some peripheral…the distinction being a hardware IRQ if a wire is involved in triggering the interrupt, or a software IRQ if it is just from software scheduling).
The following may be of interest:
- https://forums.developer.nvidia.com/t/irq-balancing/126244/6
- https://www.kernel.org/doc/Documentation/IRQ-affinity.txt
- https://forums.developer.nvidia.com/t/cpu-at-0-performance/177769/3
- https://forums.developer.nvidia.com/t/camera-timeout-at-high-cpu-load/61800/4
Within the kernel source of a specific kernel there is always documentation specific to that kernel (appropriately, it is the “Documentation/
” subdirectory, and in this case, file “IRQ-affinity.txt
”).