- 博客(8)
- 收藏
- 关注
原创 tasklet原理
tasklet是Linux内核中“可延迟执行”机制、或“中断下半部”的一种。基于软中断实现,但比软中断灵活,tasklet有的地方翻译作“任务蕾”,大部分书籍没找到合适的词汇去翻译它。本篇博客主要介绍tasklet的设计原理、使用方法。 本篇博客耗时8小时。 一、tasklet解决什么问题? 先看下tasklet在一些书籍上的介绍: tasklet是I/O驱动程序中实现
2016-04-28 16:24:09 1420
原创 linux 中断底半部之tasklet分析
Linux tasklet study 一、 tasklet作用 二、 tasklet相关的数据结构 struct tasklet_struct { struct tasklet_struct *next; unsigned long state; atomic_t count; void (*func)(unsigned long); uns
2016-04-28 16:23:15 334
原创 Linux tasklet 分析笔记(转载)
1、声明一个tasklet 动态: void tasklet_init(struct tasklet_struct *t, void (*func)(unsigned long), unsigned long data) 静态: #define DECLARE_TASKLET(name, func, data) \ struct tasklet_struct nam
2016-04-28 16:21:35 315
转载 linux tasklet使用
1、声明一个tasklet 动态: void tasklet_init(struct tasklet_struct *t, void (*func)(unsigned long), unsigned long data) 静态: #define DECLARE_TASKLET(name, func, data) \ struct tasklet_struct nam
2016-04-28 16:18:40 800
转载 深入分析Tasklet机制
一、tasklet使用 Tasklet的使用比较简单,每个Tasklet结构体有一个函数指针,指向你自己定义的函数。当我们要使用 tasklet ,首先新定义一个tasklet_struct结构,并初始化好要执行函数指针,然后将它挂接到 task_vec 链表中,并触发一个软中断就可以等着被执行了。 1.1.定义tasklet_struct结构 Void my_tasklet_fun
2016-04-28 16:08:43 265
转载 Linux驱动中,probe函数何时被调用
最近看到linux的设备驱动模型,关于Kobject、Kset等还不是很清淅。看到了struct device_driver这个结构时,想到一个问题:它的初始化函数到底在哪里调用呢?以前搞PCI驱动时用pci驱动注册函数就可以调用它,搞s3c2410驱动时只要在mach-smdk2410.c中的struct platform_device *smdk2410_devices {}中加入设备也会调用
2016-04-28 16:07:17 354
转载 Tasklet机制
一、tasklet使用 Tasklet的使用比较简单,只需要定义tasklet及其处理函数并将两者关联 例子: Void my_tasklet_func(unsigned long) DECLARE_TASKLET(my_tasklet.my_tasklet_func,data) 代码DECLARE_TASKLET实现了定义名称为my_tasklet的tasklet并
2016-04-28 16:04:36 242
转载 tasklet_hi_schedule分析
文件包含: #include 函数定义: 在内核源码中的位置:linux-2.6.30/kernel/softirq.c 函数定义格式:void __tasklet_schedule(struct tasklet_struct *t) 函数功能描述: 函数__tasklet_schedule( )的主要作用是将参数t代表的软中断的描述符添加到向量tasklet_hi_vec
2016-04-28 16:02:09 1927
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人