博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
中断API之__tasklet_hi_schedule
阅读量:4215 次
发布时间:2019-05-26

本文共 788 字,大约阅读时间需要 2 分钟。

void __tasklet_hi_schedule(struct tasklet_struct *t),函数的主要作用是将参数t代表的软中断添加到向量tasklet_hi_vec的尾部,并触发一个软中断.其使用的例程如下:static inline void tasklet_hi_schedule(struct tasklet_struct *t){	//检查这个tasklet是否正在被调度,如果没有被调用才能被加入到tasklet_hi_vec 尾部.	if (!test_and_set_bit(TASKLET_STATE_SCHED, &t->state))		__tasklet_hi_schedule(t);}其源码分析如下:void __tasklet_hi_schedule(struct tasklet_struct *t){	unsigned long flags;//在当前cpu上禁止中断	local_irq_save(flags);	t->next = NULL;	//通过__this_cpu_read 读取tasklet_hi_vec.tail的值。此时值是null,然后把t赋值给tasklet_hi_vec.tail	*__this_cpu_read(tasklet_hi_vec.tail) = t;	// 把t->next 赋值给tasklet_hi_vec.tail。所以tasklet_hi_vec.tail得最后一个元素是null	__this_cpu_write(tasklet_hi_vec.tail,  &(t->next));	//触发一个HI_SOFTIRQ的软件中断	raise_softirq_irqoff(HI_SOFTIRQ);	//使能当前cpu上的中断	local_irq_restore(flags);}

转载地址:http://krjmi.baihongyu.com/

你可能感兴趣的文章
A类网络
查看>>
[boost学习笔记] 关于thread
查看>>
ADF文件在哪个地方?
查看>>
WPF中的数据绑定!!!
查看>>
UnityShader之固定管线Fixed Function Shader【Shader资料3】
查看>>
关于《哈利波特》书的购买方案
查看>>
Tomcat学习笔记(七)
查看>>
Codeforces #340 div2
查看>>
IQueryable接口和IEnumberable接口
查看>>
python 函数
查看>>
四则运算
查看>>
mysql -- 字符串子串
查看>>
eclipse 断点位置发生莫名其妙的位移
查看>>
css文字超出部分用省略号表示
查看>>
【分享】国外后台界面HTML源码 [免费]
查看>>
Perl Debug常用命令
查看>>
20145307陈俊达_安卓逆向分析_APKtools分析smail
查看>>
Navicat Premium 11 For Mac 注册机
查看>>
android事件处理概述
查看>>
当你管理一个团队,请让员工记住以下黄金定律!
查看>>