1:数据处理函数tasklet,workqueue在之前的初始化代码中的函数__ath_attach()中,有如下的代码:#ifndef ATH_SUPPORT_HTC#ifdef ADF_SUPPORT ATH_INIT_TQUEUE(&osdev->intr_tq, (adf_os_defer....
分类:
其他好文 时间:
2015-01-29 22:26:58
阅读次数:
311
简单型1:linux中内核空间及用户空间的区别?用户空间与内核通信方式有哪些?2:linux中内存划分及如何使用?虚拟地址及物理地址的概念及彼此之间的转化,高端内存概念?3:linux中中断的实现机制,tasklet与workqueue的区别及底层实现区别?为什么要区分上半部和下半部?4:linux...
分类:
系统相关 时间:
2015-01-25 22:13:05
阅读次数:
302
1,Tasklet的概念tasklet是利用软中断实现的一种下半部机制,tasklet由两类软中断的代表,HI_SOFTIRQ和TASKLET_SOFTIRQ,这两个的区别是HI_SOFTIRQ类型的软中断先于TASKLET_SOFTIRQ类型的软中断先执行。tasklet由tasklet_stru...
分类:
系统相关 时间:
2015-01-18 20:59:02
阅读次数:
220
中断子系统的总结, 包括硬中断, 软中断的处理, 以及tasklet/workqueue 的部分....
分类:
系统相关 时间:
2015-01-04 17:19:53
阅读次数:
306
2011年9月份时候做的笔记, 当时阅读中断子系统的代码后做的一个PPT, 内核版本不记得了, 硬件平台是samsung 的S5PV210.
这部分主要是针对汇编和hard irq的部分, 在hard irq处理后的softirq的处理, 以及下半部的处理(tasklet/workqueue)都没有涉及.
Agenda
?Interrupts in ARM
?Importa...
分类:
系统相关 时间:
2015-01-04 11:30:41
阅读次数:
364
其实内核中有非常多的函数是回调函数,比如各种注册函数和初始化函数等
例如:request_irq、tasklet_init等,其实就是注册一个回调函数,然后在回调函数中一直执行所注册的句柄函数
这里是回调函数最简单的示例,内核中的很多函数基本原理类似:
linux@ubuntu:/mnt/shared/appbox/callback$ cat callback.c
#include
#i...
分类:
其他好文 时间:
2014-12-24 22:48:10
阅读次数:
234
一、概括
(1)自旋锁适用于SMP系统,UP系统用spinlock是作死。
(2)保护模式下禁止内核抢占的方法:1、执行终端服务例程时2、执行软中断和tasklet时3、设置本地CPU计数器preempt_count
(3)自旋锁的忙等待的实际意义是:尝试获取自旋锁的另一个进程不断尝试获取被占用的自旋锁,中间只pause一下!
(4)在抢占式内核的spin_lock宏中,第一次关抢占,目的...
分类:
其他好文 时间:
2014-11-14 12:37:57
阅读次数:
287
对于内核中常用的中断处理机制tasklet/work_queue/wait_queue/completion做一些总结,方便在合适的时候采用合适的机制。...
分类:
其他好文 时间:
2014-11-07 19:09:33
阅读次数:
292
平台:Linux2.6.18一, 软中断1.1 在文件中1.1.1 当前内核用到的软中断类型1 enum2 { // HI_SOFTIRQ,TASKLET_SOFTIRQ为tasklet用软中断实现时用到的两个软中断 3 HI_SOFTIRQ=0,4 TIMER_SOFTIRQ...
分类:
系统相关 时间:
2014-11-06 21:28:38
阅读次数:
348
工作队列和tasklet的区别;中断上下文;工作队列的使用;为什么还需要工作队列?工作队列(work queue)是另外一种将中断的部分工作推后的一种方式,它可以实现一些tasklet不能实现的工作,比如工作队列机制可以睡眠。这种差异的本质原因是,在工作队列机制中,将推后的工作交给一个称之为工作者线...
分类:
其他好文 时间:
2014-10-28 19:32:53
阅读次数:
240