This is an old revision of the document!
In order to shield CPUs from individual interrupts being serviced on them you have to make sure that the following kernel configuration parameter is set:
Then make sure that the interrupts are not automatically balanced by the irqbalance daemon. This daemon is started from the irqbalance init script. To disable once do:
$ /etc/init.d/irqbalance stop
To disable after next reboot do:
$ chkconfig irqbalance off
After this you can change the CPU affinity mask of each interrupt by doing:
$ echo hex_mask > /proc/irq/<irq_number>/smp_affinity
To check that the affinity mask has been set you can check the contents of the smp_affinity file.
The mask is updated the next time an interrupt is serviced. So you may not see the change immediately.