irq misc
IRQF_SHARED flag(共享中断)
多个设备共享同一个中断号,中断产生时,多个注册为同一个中断号的中断isr均被会执行:
irqreturn_t __handle_irq_event_percpu(struct irq_desc *desc, unsigned int *flags) for_each_action_of_desc(desc, action) { irqreturn_t res; trace_irq_handler_entry(irq, action); res = action->handler(irq, action->dev_id); trace_irq_handler_exit(irq, action, res);
/proc/interrupts里如果一个中断号是共享中断号,则它将会有多个interrupt name
中断绑核
cat /proc/irq/124/smp_affinity_list 查看绑定的CPU列表,(10进制表示)
# cat /proc/irq/124/smp_affinity_list 0
如上表示绑定的为CPU0
cat /proc/irq/124/smp_affinity 查看绑定的CPU列表 (16进制表示)
# cat /proc/irq/124/smp_affinity 00,00000000,00000001
from: http://t.zoukankan.com/zhangmingda-p-15196363.html
sysrq c calltrace
[ 62.316076][ C0] sysrq: Trigger a crash [ 62.320185][ C0] Kernel panic - not syncing: sysrq triggered crash [ 62.326621][ C0] CPU: 0 PID: 0 Comm: swapper/0 Tainted: P WC O 5.4.190-g134f73573a27-dirty-ab31 #1 [ 62.336865][ C0] Hardware name: xxx (DT) [ 62.342083][ C0] Call trace: [ 62.345231][ C0] dump_backtrace.cfi_jt+0x0/0x4 [ 62.350022][ C0] show_stack+0x18/0x24 [ 62.354028][ C0] dump_stack+0xb0/0x10c [ 62.358121][ C0] panic+0x160/0x3f0 [ 62.361868][ C0] trace_android_vh_sysrq_crash+0x0/0xfc [ 62.367346][ C0] __handle_sysrq+0x180/0x1d0 [ 62.371877][ C0] handle_sysrq+0x2c/0x38 [ 62.376062][ C0] mtk8250_dtv_handle_irq+0x134/0x2f8 [ 62.381282][ C0] serial8250_interrupt+0x78/0x104 [ 62.386242][ C0] __handle_irq_event_percpu+0x9c/0x35c [ 62.391632][ C0] handle_irq_event+0x60/0xd8 [ 62.396156][ C0] handle_fasteoi_irq+0x128/0x32c [ 62.401026][ C0] __handle_domain_irq+0xa0/0x100 [ 62.405895][ C0] gic_handle_irq+0x64/0x11c [ 62.410332][ C0] el1_irq+0x104/0x200 [ 62.414248][ C0] arch_cpu_idle+0x38/0x5c [ 62.414256][ C0] do_idle.llvm.1476283332528302224+0x104/0x298 [ 62.433974][ C0] cpu_startup_entry+0x24/0x28 [ 62.438587][ C0] kernel_init+0x0/0x2c0 [ 62.442679][ C0] start_kernel+0x0/0x460 [ 62.446855][ C0] start_kernel+0x3e8/0x460 [ 62.451209][ C0] SMP: stopping secondary CPUs [ 62.465287][ C0] Kernel Offset: disabled [ 62.469466][ C0] CPU features: 0x00030002,20082008 [ 62.474507][ C0] Memory Limit: none
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 在鹅厂做java开发是什么体验
· 百万级群聊的设计实践
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
· 永远不要相信用户的输入:从 SQL 注入攻防看输入验证的重要性
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
2019-11-30 linux kernel switch driver(android headset device detection)