/proc/interrupts
来源:互联网 发布:学生借款软件推荐 编辑:程序博客网 时间:2024/06/05 02:07
cat /proc/interrupts
读取到的内容从左到右,分别为:1、逻辑中断号,2、中断在各CPU发生的次数,3、中断所属设备类名称,4、硬件中断号,5、中断处理函数。
如下图:
代码实现分析如下红色字体1~ 5 .
489 int show_interrupts(struct seq_file *p, void *v)490 {491 static int prec;492 493 unsigned long flags, any_count = 0;494 int i = *(loff_t *) v, j;495 struct irqaction *action;496 struct irq_desc *desc;497 498 if (i > ACTUAL_NR_IRQS)499 return 0;500 501 if (i == ACTUAL_NR_IRQS)502 return arch_show_interrupts(p, prec);503 504 /* print header and calculate the width of the first column */ 505 if (i == 0) {506 for (prec = 3, j = 1000; prec < 10 && j <= nr_irqs; ++prec)507 j *= 10;508 509 seq_printf(p, "%*s", prec + 8, "");510 for_each_online_cpu(j)511 seq_printf(p, "CPU%-8d", j);512 seq_putc(p, '\n');513 }514 515 irq_lock_sparse();516 desc = irq_to_desc(i);517 if (!desc)518 goto outsparse;519 520 raw_spin_lock_irqsave(&desc->lock, flags);521 for_each_online_cpu(j)522 any_count |= kstat_irqs_cpu(i, j);523 action = desc->action;524 if (!action && !any_count)525 goto out;526 527 seq_printf(p, "%*d: ", prec, i); //1、打印逻辑中断号528 for_each_online_cpu(j)529 seq_printf(p, "%10u ", kstat_irqs_cpu(i, j)); //2、打印中断次数530 531 if (desc->irq_data.chip) {532 if (desc->irq_data.chip->irq_print_chip)533 desc->irq_data.chip->irq_print_chip(&desc->irq_data, p);534 else if (desc->irq_data.chip->name)535 seq_printf(p, " %8s", desc->irq_data.chip->name); //3、打印中断名称536 else537 seq_printf(p, " %8s", "-");538 } else {539 seq_printf(p, " %8s", "None");540 }541 if (desc->irq_data.domain)542 seq_printf(p, " %*d", prec, (int) desc->irq_data.hwirq); //4、打印硬件中断号,比如,gpio number 543 #ifdef CONFIG_GENERIC_IRQ_SHOW_LEVEL544 seq_printf(p, " %-8s", irqd_is_level_type(&desc->irq_data) ? "Level" : "Edge"); //打印中断触发类型545 #endif546 if (desc->name)547 seq_printf(p, "-%-8s", desc->name);548 549 if (action) {550 seq_printf(p, " %s", action->name);551 while ((action = action->next) != NULL)552 seq_printf(p, ", %s", action->name); //5、打印中断处理函数名称553 }554 555 seq_putc(p, '\n');556 out:557 raw_spin_unlock_irqrestore(&desc->lock, flags);558 outsparse:559 irq_unlock_sparse();560 return 0;561 }562
阅读全文
0 0
- /proc/interrupts
- /proc/uptime和/proc/interrupts
- How /proc/interrupts gets updated?
- cat /proc/interrupts, cat /proc/stat
- /proc/interrupts /proc/stat 查看中断信息
- /proc/interrupts 和 /proc/stat 查看中断的情况
- /proc/interrupts 和 /proc/stat 查看中断的情况
- /proc/interrupts 和 /proc/stat 查看中断的情况
- 已经注册的中断为什么在proc/interrupts中不存在
- 查看中断号cat /proc/interrupts |grep sw_irq
- Linux kernel 中断之proc接口之interrupts
- 通过cat /proc/interrupts | tr -s " " 查看中断的情况
- linux中利用/proc/interrupts 和 /proc/stat 查看中断的情况
- Interrupts & Traps
- Rescheduling Interrupts
- Linux内核设计与实现——7 中断与中断处理(7)——中断处理机制的实现&/proc/interrupts
- proc
- proc
- json数组对象和对象数组
- 新人
- crypto-js des加密与解密 与java运行结果不一致的问题
- 第八周实验
- Java8 Optional
- /proc/interrupts
- wpf:关于MouseLeftButtonDown事件失效的问题
- Windows环境下部署neo4j
- 如何授权企业证书,使用企业级的APP
- MySQL5.7安装与配置
- python格式化输出
- Android RadioButton和CheckBox类
- 使用wkhtmltopdf完成文件的转换和下载
- 客户区坐标与成屏幕坐标的相互转换