确认系统环境和smp_affinity_list的设置方式: 确保你的系统支持SMP(对称多处理)架构,并且内核版本支持smp_affinity_list配置。 检查你是否以正确的格式设置了smp_affinity_list。例如,如果你想将中断绑定到CPU0和CPU1上,你应该使用以下命令: bash echo 0,1 > /proc/irq/{irq_number}/smp_affinity_list ...
两个配置是相通的,smp_affinity_list使用的是十进制,相比较smp_affinity的十六进制,可读性更好些。 echo 3,8 > /proc/irq/31/smp_affinity_list echo 0-4 > /proc/irq/31/smp_affinity_list 1. 2. 利用watch查看切换后的效果 [root@102 ~]# watch -n 2 "cat /proc/interrupts |grep eth" 1. 好...
如果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...
*/ /*进程已经移动了,需要重新调度*/ if (ld_moved && this_cpu != smp_processor_id()) resched_cpu(this_cpu); /* All tasks on this runqueue were pinned by CPU affinity */ /*如果要移动的进程已经被固定在该cpu上,将 *cpu在负载平衡范围内去掉,重新load balance */ if (unlikely(all_pinned...
就是实际去验证每个IRQ的smp_affinity就好了: ?...从上图明显可以看出,对于44、47号这种外设的中断,Linux内核把smp_affinity设置为了FB(11111011),明显避开了CPU2,所以,实际外设中断也不会在CPU2发生,除非我们强行给中断绑核...,比如让44号中断绑定到CPU2: echo 2 >/proc/irq/44/smp_affinity_list 之后,...
所以其实现在的处理器架构,如果你以L2 以上看,本身就是NUMA,GPU 更是local 和共享存储结合。
NUMA(Non Uniform Memory Access)也符合SMP。NUMA的缺点在内存整体比较小的机器上比较明显,比如需要大量...
这也是为什么Linux内核允许配置为NUMA或者UMA两种模式,多路系统的BIOS通常允许配置为NUMA模式或者UMA模式的...
[ 0.232132] <3 cpuhp/3:23> irq_affinity_online_cpu, cpu: 3 [ 0.232266] <3 cpuhp/3:23> perf_event_init_cpu, cpu: 3 [ 0.232439] <3 cpuhp/3:23> workqueue_online_cpu, cpu: 3 [ 0.232941] <3 cpuhp/3:23> rcutree_online_cpu, cpu: 3 ...