如果cat /proc/irq/76/smp_affinity的值为:20(20是16进制对应的二进制为:00100000与11111111求与),则76这个IRQ的亲和性为#5号CPU。 每个IRQ的默认的smp affinity在这里:cat /proc/irq/default_smp_affinity 另外,cat /proc/irq/{IRQ}/smp_affinity_list(此文件为10进制)得到的即是CPU的一个List。 1 2 3...
smp_affinity 存放的是一个位掩码bit,使用16进制表示此irq使用哪颗cpu。 而cpu是使用二进制进行过表示的。 如果是fffffff,那么我们只关注最后的即可。 后面介绍如何转换他们之间的关系。 # cat smp_affinity_list 1 smp_affinity_list 与不带list的功能类似。但是使用的是十进制进行表示使用个cpu,所以可读性更好...
/proc/irq/default_smp_affinity 指定了默认情况下未激活的IRQ的中断亲和掩码(affinity mask).一旦IRQ被激活,它将被设置为默认的设置(即default_smp_affinity中记录的设置). 该文件能被修改. 默认设置是0xffffffff. bitmask计算方法 首先我们来看看smp_affinity文件的内容 1 2 root@hostname:/home/igi# cat /pro...
使用SMP IRQ affinity 使用前提 需要多CPU的系统 需要大于等于2.4的Linux 内核 相关设置文件 1. /proc/irq/IRQ#/smp_affinity /proc/irq/IRQ#/smp_affinity 和 /proc/irq/IRQ#/smp_affinity_list 指定了哪些CPU能够关联到一个给定的IRQ源. 这两个文件包含了这些指定cpu的cpu位掩码(smp_affinity)和cpu列表(...
如果cat /proc/irq/76/smp_affinity的值为:20(20是16进制对应的二进制为:00100000与11111111求与),则76这个IRQ的亲和性为#5号CPU。 每个IRQ的默认的smp affinity在这里:cat /proc/irq/default_smp_affinity 另外,cat /proc/irq/{IRQ}/smp_affinity_list(此文件为10进制)得到的即是CPU的一个List。 [root@...
/proc/irq/#/smp_affinity_list可以查看指定中断当前绑定的 CPU,当然也 可以看smp_affinity这个文件,它是一个16进制bitmask,以逗号分隔,比如0000,00000020表示该 irq 分给了 CPU5。 所以,通过如下脚本获得各网卡中断的当前 cpu 的整体情况(平时只对网卡中断感兴趣): ...
sudo cat /proc/irq/42/smp_affinity c. 修改绑定: sudo echo ff > /proc/irq/42/smp_affinity d. 访问特定网站: ping -f www.creative.com e. 查看中断绑定结果: cat /proc/interrupts | grep 'CPU\|42:' 小结: 在我的多队列网卡中,手动绑定了SMP IRQ Affinity的值,并且排除了其它两种优化方式的干...
$ for i in {59..62}; do echo -n "Interrupt $i is allowed on CPUs "; cat /proc/irq/$i/smp_affinity_list; done Interrupt 59 is allowed on CPUs 0-5 Interrupt 60 is allowed on CPUs 0-5 Interrupt 61 is allowed on CPUs 0-5 ...
/ # echo 2 > /proc/irq/288/smp_affinity 2. After chmod "777", then modify the mrvl_pcie_msi irq, it still failed./ # chmod 777 /proc/irq/392/smp_affinity/ # echo 8 > /proc/irq/392/smp_affinitysh: write error: Invalid argument 3. I still can not modify "smp_affinity_list"...
61 #ifdef CONFIG_SMP 62 const struct cpumask *affinity_hint; 63 struct irq_affinity_notify *affinity_notify; 64 #ifdef CONFIG_GENERIC_PENDING_IRQ 65 cpumask_var_t pending_mask; 66 #endif 67 #endif 68 unsigned long threads_oneshot; 69 atomic_t threads_active; 70 wait_queue_head_t wait...