Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1874549
  • 博文数量: 184
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 2388
  • 用 户 组: 普通用户
  • 注册时间: 2016-12-21 22:26
个人简介

90后空巢老码农

文章分类

全部博文(184)

文章存档

2021年(26)

2020年(56)

2019年(54)

2018年(47)

2017年(1)

我的朋友

分类: LINUX

2020-11-03 12:37:08

软中断这个东西苦恼了自己好久,最近感觉有点悟,特意记录一下。

首先,软中断是跟硬中断相对应的,linux当中为了解决硬中断处理过程太长导致硬中断丢失(硬中断处理过程中会禁用中断),linux就将硬中断的处理过程分为两个部分:
1. 上半部分:中断禁止模式下执行,主要执行跟硬件相关或者时间敏感的代码
2. 下半部分:延迟处理上半部分剩下的工作,通常以内核线程方式运行(通常是[ksoftirq/cpu_num])

软中断除了处理硬中断的剩余部分之外,还会处理其他相关的操作,这个可以通过命令:cat /proc/sorftirqs 去查看当前机器上软中断相关的统计(TIMER,NET_TX, NET_RX, TASKLET, SCHED,HRTIMER, RCU等等)

其重要调用方式就是在优先级较高的进程中设置相关二进制位,然后返回,之后软中断执行之前会检测相关的掩码,从而执行对应的处理程序
阅读(1043) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~