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
.