自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

兰宝的专栏

编程之美

  • 博客(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关注的人

提示
确定要删除当前文章?
取消 删除