当前位置: 首页 > news >正文

从零开始理解Linux中断架构(24)软中断核心函数__do_softirq

1)概要

__do_softirq函数处理是总是尽可能的执行所有未决软中断。

(1)关闭软中断:在preempt_count设置软中断标志:SOFTIRQ_OFFSET

让in_interrupt检查条件为真,进入软中断处理临界区,后面进来的处理请求,需要检查in_interrupt(),从而达到禁止本cpu上的软中断嵌套的目的。此时是在关硬中断的情况下,获得本cpu的local_softirq_pending()存储到局部变量

(2) 开始第一层循环:

清空软中中断未决标志,开硬中断。硬中断已打开,core现在可以接收新的硬件中断,local_softirq_pending()上又可能会后设置上新的未决标志。

http://www.lryc.cn/news/109936.html

相关文章:

  • 【云原生】Kubernetes中deployment是什么?
  • sk_buff操作函数学习
  • conda create时候出现JSONDecoderError解决方法
  • Electron 工具进程utilityProcess 使用中遇到的坑点汇集
  • JdbcTemplate
  • PROFINET转TCP/IP网关profinet网线接头接法
  • 【FPGA IP系列】FIFO的通俗理解
  • Kylin v10基于cephadm工具离线部署ceph分布式存储
  • 框架的前置学习-反射
  • 【使用bat脚本实现批量创建文件夹、批量复制文件至对应文件夹中】
  • 面向视频会议场景的 H.266/VVC 码率控制算法研究
  • 【网络基础实战之路】设计网络划分的实战详解
  • MacBook触控板窗口管理 Swish for Mac
  • VS开发Qt程序,无法打印QDebug调试信息,VS进行Qt开发时Qt Designer无法使用“转到槽”选项
  • MySQL操作命令详解:增删改查
  • MySQL字段类型与存储空间的关系
  • 红船元宇宙 上海布袋除尘器后一家太平洋百货月底停业
  • vue 图片回显标签
  • 《向量数据库指南》——使用SQuAD 数据集演示Faiss 功能
  • java多线程并发面试题总结(史上最全40道)
  • IDEA强大的VisualGC插件
  • 桐乡上元教育室内设计培训班-CAD学习
  • h5浏览pdf文件
  • 无涯教程-Lua - 嵌套if语句函数
  • vue v-slot指令
  • 【机器学习】西瓜书学习心得及课后习题参考答案—第6章支持向量机
  • 无涯教程-Perl - 面向对象
  • Linux安装VScode
  • 网络安全(黑客)工具篇
  • 测试工程师刚入职如何快速熟悉需求并输出测试用例?