`
longxj
  • 浏览: 101855 次
  • 性别: Icon_minigender_1
  • 来自: 南京
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

softirq于tasklet

阅读更多

tasklet是基于两种softirq HI_SOFTIRQ和TASKLET_SOFTIRQ,两种irq的区别在于HI_SOFTIRQ优先于TASKLET_SOFTIRQ被执行。tasklet跟softirq相比,不需要函数是可以重入的
另外linux中还有一种work queue,可以将要执行的函数放入队列中。而执行这些函数的是由系统的kernel thread还进行执行,这类kernel thread又被叫着worker thread。softirq和tasklet
是对中断的一种处理(can be deferred),而work queue从根本上来说不属于中断处理的范畴。
2009/01/23 五

分享到:
评论

相关推荐

    Interrupt in linux

    Tasklet 基于 softirq 实现,具有更低的优先级,适用于那些对时间要求不是特别严格的任务,并且 tasklet 可以在多个 CPU 之间迁移。 此外,文档还包含了中断初始化过程的描述,以及中断的硬件和软件处理机制。初始...

    Linux软中断softirq机制流程图

    这个流程图粗略地描述了softirq, tasklet, bottomhalt, task queue这些对象之间的联系及调用流程。 主要依据:《Linux内核的Softirq机制》和《软中断概况》 图中可能存在错误,希望您的指正!

    Linux 2.4内核中断之探析.pdf

    tasklet(Tasklets)则是一种延迟执行的软中断,适用于那些不那么紧迫但仍然需要快速响应的处理。tasklet可以在进程上下文运行,允许更灵活的资源管理和错误处理。 初始化中断描述符表是Linux内核启动过程中的重要...

    tasklet.pdf

    这两种类型的tasklet分别通过HI_SOFTIRQ和TASKLET_SOFTIRQ两种softirq来实现。这意味着,根据tasklet的优先级不同,它们会被调度到不同的softirq队列中进行处理。高优先级tasklet主要用于处理时间敏感性较高的任务,...

    pci954ds.pdf

    与SoftIRQ和Tasklet相比,Workqueue更侧重于处理长时间运行的工作负载,且支持异步执行,允许在多个CPU上并行处理。它通过工作队列和工作项的概念,实现了任务的排队和分发,从而在多处理器系统中提供更好的并发性和...

    Linux 2.6中断下半部机制分析

    - `TASKLET_SOFTIRQ`: 用于 tasklet 的 softirq。 - `SCHED_SOFTIRQ`: 调度相关的 softirq。 - `HRTIMER_SOFTIRQ`: 高分辨率定时器相关的 softirq(如果配置了高分辨率定时器)。 Softirq 机制的核心优势在于它可以...

    Linux中断(interrupt)子系统之一:软件中断(softIRQ).docx

    软件中断,又称为 SoftIRQ,是内核自定义的一种机制,它不同于硬件中断,是由软件直接触发的。尽管名为“延迟执行”,但在很多情况下,软中断的响应时间比普通进程更快。软中断作为内核机制的基础,支持如 tasklet ...

    LinuxTasklet分析20121225.pdf

    tasklet_schedule()将tasklet加入链表,ksoftirqd线程执行__do_softirq(),调用tasklet_action处理。 - 方式二:硬中断下半部。在硬中断处理中,通过do_softirq()检查并执行软中断,包括tasklet。 - 方式三:显式...

    Linux 2.4.x内核软中断机制.pdf

    另一方面,定时器管理、文件系统缓存更新等场景也常常依赖于tasklet或softirq,以实现非阻塞的后台处理,确保系统的流畅运行。 #### 结论 Linux 2.4.x内核的软中断机制,包括bottomhalf、taskqueue、tasklet和...

    linux内核源代码分析中断处理程序与内核同步ppt课件.ppt

    - 分配软中断索引,如`HI_SOFTIRQ0`至`TASKLET_SOFTIRQ5`,优先级依次降低。 - 注册软中断处理程序,例如`OPEN_SOFTIRQ(NET_TX_SOFTIRQ, actions, NULL)`。 - 触发软中断,如`Raise_softirq(NET_TX_SOFTIRQ)`。 ...

    linux 中断的上半部和下半部

    - 使用HI_SOFTIRQ和TASKLET_SOFTIRQ两种类型的软中断实现。 - 可以在多个CPU上并发运行。 - 提供了一系列API用于创建、启用、禁用以及调度tasklet。 - 示例代码展示了如何定义和调度一个简单的tasklet,用于在特定...

    linux内核软中断[借鉴].pdf

    在Linux 2.4.x内核中,软中断机制包括了bottom half、tasklet以及softirq等多种形式。 首先,bottom half,或称为“下半部”,是早期Linux内核用来处理硬件中断后续任务的方式。它将中断处理分为两个阶段:上半部...

    深入浅出 Linux设备驱动中断处理介绍

    tasklet 是基于 Linux softirq 的,它的使用相当简单,只需要定义 tasklet 及其处理函数并将二者关联。tasklet_schedule() API 用于调度 tasklet 的执行,DECLARE_TASKLET_DISABLED()、tasklet_enable()、tasklet_...

    linux操作系统内核技术-uestc课件

     6中断处理程序被分解为top half和bottom half的原因,介绍linux的softirq,tasklet,ksoftirqd和work queue,分析进程与top half,bottom half的竞争情形和同步。(4小时)  7掌握内核同步原理和方法:原子操作,...

    Linux设备驱动中断处理介绍

    tasklet 基于 Linux softirq,其使用相当简单,我们只需要定义 tasklet 及其处理函数并将二者关联。例如: void my_tasklet_func(unsigned long); DECLARE_TASKLET(my_tasklet,my_tasklet_func,data); 然后,在...

    linux设备驱动+源代码

    Linux中,中断处理分为顶半部(Hard IRQ)和底半部(SoftIRQ/Tasklet/Workqueue),前者执行快速无延迟的清理工作,后者处理可能耗时的任务。 5. **DMA(直接内存访问)** DMA允许设备直接与内存交换数据,无需CPU...

    LINUX irq中断机制介绍.docx

    - **实现**:Tasklet通常通过调用`alloc_softirq_vec`函数来创建,并通过`add_tasklet`函数来注册。当需要注销Tasklet时,可以调用`del_tasklet`函数。 #### 三、总结 通过上述分析,我们可以看出Linux中断机制的...

    Linux_系统内核空间与用户空间通信的实现与分析

    2. **处理软中断**:包括softirq、tasklet和bottom half (BH)等机制。 3. **运行于内核态且与特定进程关联**:此时内核执行的代码与某个用户进程有关联,如系统调用的处理。 4. **运行用户态进程**:这是典型的用户...

    Linux操作系统课程指导:Ch8 Bottom Halves and Deferring Work.ppt

    在Linux操作系统中,底半处理(Bottom Halves)和延后工作是内核处理中断和服务请求的一种机制。...通过软中断、tasklet和工作队列等方法,Linux能够优雅地处理各种中断请求,确保系统的稳定性和性能。

    中断 下半部 锁 进程调度

    ### 中断、下半部、锁及进程调度:深入理解Linux内核关键技术 ...以上内容详细阐述了 Linux 内核中中断处理机制、软中断、tasklet 以及进程调度的关键概念和技术细节,有助于深入理解操作系统内部的工作原理。

Global site tag (gtag.js) - Google Analytics