背景:硬件中断发生频繁,是件很消耗 CPU 资源的事情,在多核 CPU 条件下如果有办法把大量硬件中断分配给不同的 CPU (core) 处理显然能很好的平衡性能。
cpumask_set_cpu和irq_set_affinity:
1、声明cpumask
cpumask_t cpumask = CPU_MASK_NONE;/*no bits set*/
2、设置cpumask
cpumask_set_cpu(cpuid,cpumask); /* 设置对应bit为1 */
3、设置中断与核绑定
irq_set_affinity(irq,cpumask);/*irq为中断号*/
参考链接:
https://www.cnblogs.com/lvzh/p/13415852.html
中断:http://www.wowotech.net/linux_kenrel/interrupt_descriptor.html