4.3. Tuning IRQs with Tuna
4.3. Tuning IRQs with Tuna To see the list of IRQs currently running on your system, see the Monitoring tab in Tuna GUI or the /proc/interrpupts file. You can also use the tuna --show_irqs command. To specify the list of IRQs to be affected by your command, use the --irqs parameter: To move an interrupt to a specified CPU, use the --move parameter: The irq_list argument is a list of comma-separated IRQ numbers or user-name patterns. The cpu_list argument is a list of comma-separated CPU numbers. For example, --cpus=0,2 . For example, to target all interrupts whose names start with sfc1 and spread them over two CPUs: To verify the changes you set, use the --show_irqs parameter both before and after modifying the IRQs with the --move parameter: This allows you to compare the state of the selected IRQs before and after your changes. Note Using the Tuna GUI might be more convenient in certain scenarios. Moving IRQs and threads by specifying the CPUs they are to run on can be time-consuming and difficult because it involves multiple steps of creating CPU masks. The Tuna GUI automates the process. In the Tuna GUI, you can also select threads and IRQs and drag them over the intended CPUs, which can make changing the topology easier.
tuna --irqs= irq_list --run= COMMAND tuna --irqs= irq_list --cpus= cpu_list --move tuna --irqs=sfc1\* --cpus=7,8 --move --spread tuna --irqs=128 --show_irqs # users affinity 128 iwlwifi 0,1,2,3 # tuna --irqs=128 --cpus=3 --move # tuna --irqs=128 --show_irqs # users affinity 128 iwlwifi 3