Linux 中断

中断

中断的作用

外部设备完成某些工作后用以通知CPU。

中断的分类

  • 硬中断
  • 软中断

中断占据的计算机资源有哪些

中断主要会占据cpu资源。
Linux 执行top 命令,hi si 字段可以查看 硬中断 与 软中断 对于 cpu的占有率。

中断向量表

中断向量表的定义

存在于内核之中的表,存储着 中断号 与 中断处理程序之间的关系。

硬中断

硬中断的定义

硬件触发的中断 被称为是硬中断。
还可以这样认为,硬中断触发后 中断处理的上半部分。

硬中断的类型有哪些

  • timer:时钟中断
  • RES:重新调度中断
    ......

如何查看网络相关的硬中断是什么

有的网卡会开启多队列,每个队列会对应一个硬中断号,硬中断号获取方式。
cat /proc/interrupts | egrep 'CPU|virtio.*(input|output)'

硬中断的触发方式

  • 1: 网卡接收到数据包会触发硬中断。
  • 2: 键盘输入
    ......

硬中断的处理 (中断处理)

硬件 触发 硬中断 通知cpu, cpu打断当前正在执行的程序,处理硬中断(中断处理的上半部分),软中断(中断处理的下半部分)会异步执行,一般来说,硬中断在哪个cpu上触发,软中断也会在哪个cpu上触发,如果内核启用RPS机制,那么软中断处于的cpu可能和硬中断所处的cpu不同。

中断(硬中断)亲和性

什么是中断亲和性

多核cpu架构下,硬中断具体在哪个cpu上面触发。自己觉得可以理解为,cpu对于硬中断的亲和性。cpu对于硬中断的亲和性高,那么硬中断就有更多的概率在这个cpu上执行。

中断亲和性修改

Linux文件 /proc/irq/中断号/smp_affinity 之中的取值,表示了中断号与哪些cpu有亲和性。
取值是16进制的数,每一位的取值为1,则表示具体与哪一个cpu存在亲和性。

硬中断监控

查看各种硬中断在 cpu上的分布情况

原因:如果硬中断分布不均匀,会导致软中断分布不均匀,会影响硬件发挥的效率的。
cat /proc/interrupts 查看硬中断的数目,以及在各个cpu上的分布情况。

软中断

软中断的定义

触发硬中断的时候,对于硬中断的处理分为两部分,
一部分是硬中断处理程序
一部分是软中断处理程序
软中断就是硬中断触发之后,中断处理的下半部分。

软中断 与 软件中断

软中断:中断处理下半部机制。
软件中断:从软件中断指令而来。在32位x86中,为了实现linux用户态到内核态的切换,linux使用软件中断指令“int 0x80”来触发异常,切换CPU特权级,实现系统调用。
两者完全是两码事。

Linux 上如何查看 网络相关的软中断在 cpu上的分布

cat /proc/softirqs | grep NET
获取的是 网络的收发软中断在各个cpu上的计数。

软中断的触发 与 处理

触发

  • 1:硬中断触发软中断
  • 2:软件中断模拟硬中断,最终触发软中断。

处理
软中断的处理程序 为 软中断处理程序。最终cpu会执行软中断处理程序。

软中断的监控

查看软中断在cpu上的分布

cat /proc/softirqs

问题

1: 对于网卡来说 硬中断的次数 就代表收包的次数嘛

不是。
原因:
1:网卡可以设置中断合并,多个网络帧可以只发起一次中断。
2:NAPI 运行的时候会关闭硬中断,通过poll来收包

2:为什么中断处理分为上下两部分

硬中断会打断cpu, 如果处理时间过长,会影响其他进程的正常执行,
所以中断处理会分为上下两部分,将耗时长的部分切分到一边,异步调度执行。

3:硬中断 软中断 cpu 之间的关系

在多核cpu下,某个cpu上触发硬中断,那么软中断会在这个cpu上触发(通常情况下)。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 一.Linux系统,陷入内核的三种方式 1.系统调用:应用程序主动像操作系统发出的服务请求,系统调用是应用程序主动...
    MagicDong阅读 2,111评论 0 2
  • 中断与定时器 中断的概念:指CPU在执行过程中,出现某些突发事件急待处理,CPU暂停执行当前程序,转去处理突发事件...
    Joe_HUST阅读 3,385评论 0 2
  • 1. 什么是中断 中断(interrupt)是指在CPU正常运行期间,由于内、外部事件引起的CPU暂时停止正在运行...
    JamFF阅读 1,108评论 0 1
  • 日更,今天聊一个技术问题:操作系统的中断。 中断是啥:从订外卖说起 首先,这里声明一下,以下比喻并非我原创,摘自极...
    盗火侠阅读 1,222评论 0 7
  • 在系统结构中,CPU工作的模式有两种,一种是中断,由各种设备发起;一种是轮询,由CPU主动发起。中断IRQ:中断允...
    小可_34e0阅读 260评论 0 0

友情链接更多精彩内容