linux tasklet

一、使用tasklet步骤

1、定义tasklet数据结构

        strcut tasklet_struct my_tasklet;

        unsigned long data = 0;

2、编写自己的tasklet处理函数,函数原形如下:

        void tasklet_handler(unsigned long data);

3、初始化tasklet数据结构

        tasklet_init(&my_tasklet, tasklet_handler, data);

4、调度自己的tasklet

        tasklet_schedule(&my_tasklet);

  二、示例

 

#include <linux/module.h>

#include <linux/init.h>

#include <kernel.h>

#include <interrupt.h>

 

static struct tasklet_struct my_tasklet;

static void tasklet_handler(unsigned long data)

{

         pirntk(KERN_ALERT"tasklet_handler is running");

}

static int __init test_init(void)

{

        tasklet_init(&my_tasklet, tasklet_handler, 0);

        tasklet_schedule(&my_tasklet);

        return 0;

}

static void __exit test_exit(void)

{

        tasklet_kill(&my_tasklet);

}

MODULE_LICENSE("GPL");

module_init(test_init);

moudle_exit(test_exit);

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值