I'm trying to handle an interrupt with a group of cpus instead of the all available cpus in the system. Basically, I want CPUs 32-63 to handle an interrupt while others interrupts are handled by CPUs 0-63.
If I'm not wrong, you are suppose to change files:
- /proc/irq/X/smp_affinity
- /proc/irq/X/smp_affinity_list
Where X is the interrupt number.
Right now, my files look like this:
smp_affinity: ffffffff,ffffffff
smp_affinity_list: 0-63
I want the second group of cores handling the interrupt. So, I should write:
smp_affinity: 00000000,ffffffff
smp_affinity_list: 32-63
Yet, it is not working:
# echo "32-63" > /proc/irq/16/smp_affinity_list
bash: echo: write error: Input/output error
/proc is correctly mounted with read/write permissions
(proc on /proc type proc (rw,nosuid,nodev,noexec,relatime)).
Using sudo to overwrite the values in the files.
The machine is running an Ubuntu 16.04, Linux kernel 4.4.0-96-generic.