函数逻辑报告 |
Source Code:kernel\workqueue.c |
Create Date:2022-07-27 10:27:01 |
| Last Modify:2020-03-12 14:18:49 | Copyright©Brick |
| 首页 | 函数Tree |
| 注解内核,赢得工具 | 下载SCCT | English |
函数名称:process_one_work - process single work*@worker: self*@work: work to process* Process @work
函数原型:static void process_one_work(struct worker *worker, struct work_struct *work)__releases(&pool->lock) __acquires(&pool->lock)
返回类型:void
参数:
| 类型 | 参数 | 名称 |
|---|---|---|
| struct worker * | worker | |
| struct work_struct * | work |
| 2161 | pwq等于get_work_pwq(work) |
| 2162 | pool等于A: the associated pool |
| 2163 | cpu_intensive等于flags按位与WQ_CPU_INTENSIVE |
| 2179 | WARN_ON_ONCE(!(X: flags & POOL_DISASSOCIATED) && These macros fold the SMP functionality into a single CPU system() != I: the associated cpu ) |
| 2189 | 如果此条件成立可能性小(为编译器优化)(collision)则 |
| 2195 | debug_work_deactivate(work) |
| 2197 | L: work being processed 等于work |
| 2198 | L: current_work's fn 等于func |
| 2199 | L: current_work's pwq 等于pwq |
| 2200 | work_color等于get_work_color(work) |
| 2208 | 删除链表项并重新初始化 |
| 2237 | spin_unlock_irq( & he pool lock ) |
| 2239 | lock_map_acquire( & lockdep_map) |
| 2240 | lock_map_acquire( & lockdep_map) |
| 2262 | lockdep_invariant_state(true) |
| 2264 | L: current_work's fn (work) |
| 2270 | lock_map_release( & lockdep_map) |
| 2271 | lock_map_release( & lockdep_map) |
| 2274 | 打印错误信息("BUG: workqueue leaked lock or atomic: %s/0x%08x/%d\n last function: %ps\n", comm, 抢占计数值, task_pid_nr(当前进程), L: current_work's fn ) |
| 2278 | debug_show_held_locks(当前进程) |
| 2279 | dump_stack() |
| 2290 | cond_resched() |
| 2292 | spin_lock_irq( & he pool lock ) |
| 2302 | 从哈希表移除对象 |
| 2303 | L: work being processed = NULL |
| 2304 | L: current_work's fn = NULL |
| 2305 | L: current_work's pwq = NULL |
| 名称 | 描述 |
|---|---|
| process_scheduled_works | process_scheduled_works - process scheduled works*@worker: self* Process all scheduled works |
| worker_thread |
| 源代码转换工具 开放的插件接口 | X |
|---|---|
| 支持:c/c++/esqlc/java Oracle/Informix/Mysql 插件可实现:逻辑报告 代码生成和批量转换代码 |