User Tools

Site Tools


realtime:documentation:howto:tools:cpu_shielding

This is an old revision of the document!


CPU shielding using /proc and /dev/cpuset

Interrupt shielding

Kernel Space

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:

  • CONFIG_IRQBALANCE

User Space

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.

realtime/documentation/howto/tools/cpu_shielding.1494286286.txt.gz · Last modified: 2017/05/08 23:31 (external edit)