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

【RK3588 Linux 5.x 内核编程】-内核中断与ThreadedIRQ

内核中断与ThreadedIRQ

文章目录

  • 内核中断与ThreadedIRQ
    • 1、Threaded IRQ介绍
    • 2、Threaded IRQ相关API
    • 3、驱动实现
    • 4、驱动验证

当 Interrupt 触发时,Interrupt handler 应该执行得非常快,它不应该运行更多的时间(它不应该执行耗时的任务)。 如果我们有执行更多任务的中断处理程序,那么我们需要将其分成上半部分和下半部分。

上半部分只是我们的中断处理程序。 如果我们想做更少的工作,那么上半部分就绰绰有余了。 在那种情况下不需要下半部分。 但是如果我们在中断命中时有更多的工作,那么我们需要下半部分。 下半部分在未来更方便的时间运行,并启用所有中断。 因此,下半部分的工作是执行中断处理程序未执行的任何与中断相关的工作。

ThreadIRQ为Linux内核下半部分处理机制之一。本文将详细介绍如何使用ThreadIRQ。

1、Threaded IRQ介绍

在我们之前的教程中看到我们介绍了Linux内核中断中的下半部分工作机制(Workqueue、softirq、Tasklets),我们必须注册这些 下半部分处理函数并要求内核调用这些下半部分处理函数。 为了进一步简化该过程,Linux 引入了线程化 IRQ。 使用这个特性,Linux 就像是,你只要给我处理函数(上半部分和下半部分),我会在合适的时间调用这些函数。 所以,有了这个线程化的 IRQ࿰


http://www.kler.cn/a/447554.html

相关文章:

  • 基础爬虫案例实战
  • 全志H618 Android12修改doucmentsui选中图片资源详情信息
  • 在Java虚拟机(JVM)中,方法可以分为虚方法和非虚方法。
  • 基于字节大模型的论文翻译(含免费源码)
  • 数智化转型是什么?
  • 【Apache Doris】周FAQ集锦:第 26 期
  • 学习Cookie 提升
  • 裸机按键输入实验
  • linux源码编译libunwind
  • 条款34 考虑lambda而非std::bind
  • JS中的innerHTML,innerText,value的区别
  • STM32-笔记5-按键点灯(中断方法)
  • java线程
  • Unity实用技能-协作规范总结
  • MySQL数据库下载及安装教程
  • linux美化命令行
  • 文件I/O操作:C语言
  • 纯血鸿蒙APP实战开发——Text实现部分文本高亮和超链接样式
  • el-tabs标签过多
  • TCP与UDP的端口连通性
  • Ubuntu22.04安装CH340/CH341驱动
  • Python自动化测试图片比对算法
  • 电商项目-网站首页高可用(二)
  • 常用数据库类型介绍
  • 从 Vue 迈向 React:平滑过渡与关键注意点全解析
  • 翻转(蓝桥杯2023大学C组试题E)