我在学习的过程中,创建了gpio按键中断,但是我想做下实验,我cat /proc/interrupts 发现我的的中断类型为gpio,网卡等中断类型是GICV3,我想将我自己的按键中断绑定在CPU2上,使用echo "2" > /proc/irq/70/smp_affinity
sh: echo: write error: Input/output error,但是我绑定网卡等中断就可以,我搞不明白,是否有这个方向的学习资料。
关于LINUX多核SMP中断绑定CPU的问题?
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
1条回答 默认 最新
- raymond27 2023-09-01 14:41关注
首先,要理解中断和CPU的关系。每个CPU都有其自己的中断控制器(Interrupt Controller,IC),这个控制器会将来自设备的所有中断信号路由到系统中的特定CPU上。因此,你不能直接将一个特定的中断绑定到特定的CPU上。你只能控制哪个CPU可以接收来自特定中断控制器(如GIC)的中断。
关于你遇到的问题,echo "2" > /proc/irq/70/smp_affinity 这个命令是用来控制GIC的中断在哪些CPU之间进行亲和性调度。这适用于GIC类型的中断,而不适用于GPIO或其他非GIC类型的中断。
如果你想将你的GPIO中断路由到特定的CPU,你可能需要查看你的硬件和操作系统的文档,看看是否有任何选项可以让你控制这个。这可能涉及到修改你的设备驱动,或者修改系统的中断路由配置。
在Linux内核中,中断的路由和分配是由中断控制器的驱动程序来控制的。这包括GIC、GPIO等。对于具体的设备,你需要查看设备的技术手册或者Linux内核的文档。
此外,关于Linux中断和SMP(多处理器)的更多信息,你可以查阅Linux内核的文档或者相关的教科书。这是一项深入的工作,需要理解操作系统、硬件和驱动程序的基础知识。
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 1无用
悬赏问题
- ¥15 任意一个散点图自己下载其js脚本文件并做成独立的案例页面,不要作在线的,要离线状态。
- ¥30 c#打开word开启修订并实时显示批注
- ¥15 如何解决ldsc的这条报错/index error
- ¥15 VS2022+WDK驱动开发环境
- ¥30 关于#java#的问题,请各位专家解答!
- ¥30 vue+element根据数据循环生成多个table,如何实现最后一列 平均分合并
- ¥20 pcf8563时钟芯片不启振
- ¥20 pip2.40更新pip2.43时报错
- ¥15 换yum源但仍然用不了httpd
- ¥50 C# 使用DEVMOD设置打印机首选项