函数逻辑报告 |
Source Code:kernel\workqueue.c |
Create Date:2022-07-27 10:26:33 |
Last Modify:2020-03-12 14:18:49 | Copyright©Brick |
首页 | 函数Tree |
注解内核,赢得工具 | 下载SCCT | English |
函数名称:ry_to_grab_pending - steal work item from worklist and disable irq*@work: work item to steal*@is_dwork: @work is a delayed_work*@flags: place to store irq state* Try to grab PENDING bit of @work. This function can handle @work in any
函数原型:static int try_to_grab_pending(struct work_struct *work, bool is_dwork, unsigned long *flags)
返回类型:int
参数:
类型 | 参数 | 名称 |
---|---|---|
struct work_struct * | work | |
bool | is_dwork | |
unsigned long * | flags |
1235 | local_irq_save( * flags) |
1238 | 如果is_dwork则 |
1239 | dwork等于to_delayed_work(work) |
1246 | 如果此条件成立可能性大(为编译器优化)(del_timer( & timer))则返回:1 |
1263 | 加自旋锁 |
1272 | pwq等于get_work_pwq(work) |
1273 | 如果pwq且I: the associated pool 恒等于pool则 |
1274 | debug_work_deactivate(work) |
1283 | 如果The first word is the work queue pointer and the flags rolled into* one(work)按位与WORK_STRUCT_DELAYED则pwq_activate_delayed_work(work) |
1286 | 删除链表项并重新初始化 |
1292 | 自旋锁解锁 |
1294 | 返回:1 |
1296 | 自旋锁解锁 |
1297 | fail : |
1299 | local_irq_restore( * flags) |
1300 | 如果work_is_canceling(work)则返回:负ENOENT |
1302 | cpu_relax() |
1303 | 返回:负EAGAIN |
名称 | 描述 |
---|---|
mod_delayed_work_on | mod_delayed_work_on - modify delay of or queue a delayed work on specific CPU*@cpu: CPU number to execute work on*@wq: workqueue to use*@dwork: work to queue*@delay: number of jiffies to wait before queueing* If @dwork is idle, equivalent to |
__cancel_work_timer | |
__cancel_work |
源代码转换工具 开放的插件接口 | X |
---|---|
支持:c/c++/esqlc/java Oracle/Informix/Mysql 插件可实现:逻辑报告 代码生成和批量转换代码 |