设为首页 加入收藏

TOP

Linux内核实践之tasklet机制
2014-11-24 13:15:13 来源: 作者: 【 】 浏览:0
Tags:Linux 内核 实践 tasklet 机制


void __tasklet_schedule(struct tasklet_struct *t)


{


unsigned long flags;



local_irq_save(flags);


t->next = NULL;


*__get_cpu_var(tasklet_vec).tail = t;


__get_cpu_var(tasklet_vec).tail = &(t->next);


raise_softirq_irqoff(TASKLET_SOFTIRQ);


local_irq_restore(flags);


}


#include


#include


#include


#include



static void tasklet_func(unsigned long value)


{


printk("This is tasklet function!\n");


}


/*用静态方式声明并定义一个tasklet,动态方式一样*/


DECLARE_TASKLET(my_tasklet,&tasklet_func,0);



static __init int my_tasklet_init(void)


{


/*直接调度我们的函数*/


tasklet_schedule(&my_tasklet);


return 0;


}



static void my_tasklet_exit(void)


{



}


module_init(my_tasklet_init);


module_exit(my_tasklet_exit);


运行结果:




】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇一个通用的Trie树,标准C++实现 下一篇Linux软中断

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: