函数逻辑报告 |
Source Code:kernel\workqueue.c |
Create Date:2022-07-27 10:27:19 |
Last Modify:2020-03-12 14:18:49 | Copyright©Brick |
首页 | 函数Tree |
注解内核,赢得工具 | 下载SCCT | English |
函数名称:drain_workqueue - drain a workqueue*@wq: workqueue to drain* Wait until the workqueue becomes empty. While draining is in progress,* only chain queueing is allowed. IOW, only currently pending or running
函数原型:void drain_workqueue(struct workqueue_struct *wq)
返回类型:void
参数:
类型 | 参数 | 名称 |
---|---|---|
struct workqueue_struct * | wq |
2927 | flush_cnt等于0 |
2935 | mutex_lock( & protects this wq ) |
2936 | 如果非WQ: drain in progress 自加则hot fields used during command issue, aligned to cacheline 或等于__WQ_DRAINING |
2938 | mutex_unlock( & protects this wq ) |
2939 | reflush : |
2942 | mutex_lock( & protects this wq ) |
2947 | spin_lock_irq( & he pool lock ) |
2948 | drained等于非L: nr of active works 且链表为空 |
2949 | spin_unlock_irq( & he pool lock ) |
2951 | 如果drained则继续下一循环 |
2954 | 如果flush_cnt先自加恒等于10或flush_cnt取模100恒等于0且flush_cnt小于等于1000则打印警告信息("workqueue %s: drain_workqueue() isn't complete after %u tries\n", I: workqueue name , flush_cnt) |
2959 | mutex_unlock( & protects this wq ) |
2960 | 转到:reflush |
2963 | 如果非WQ: drain in progress 先自减则hot fields used during command issue, aligned to cacheline 与等于__WQ_DRAINING的反 |
2965 | mutex_unlock( & protects this wq ) |
名称 | 描述 |
---|---|
destroy_workqueue | destroy_workqueue - safely terminate a workqueue*@wq: target workqueue* Safely destroy a workqueue. All work currently pending will be done first. |
源代码转换工具 开放的插件接口 | X |
---|---|
支持:c/c++/esqlc/java Oracle/Informix/Mysql 插件可实现:逻辑报告 代码生成和批量转换代码 |