函数逻辑报告 |
Source Code:kernel\locking\rtmutex-debug.c |
Create Date:2022-07-27 10:53:05 |
| Last Modify:2020-03-17 14:29:42 | Copyright©Brick |
| 首页 | 函数Tree |
| 注解内核,赢得工具 | 下载SCCT | English |
函数名称:debug_rt_mutex_print_deadlock
函数原型:void debug_rt_mutex_print_deadlock(struct rt_mutex_waiter *waiter)
返回类型:void
参数:
| 类型 | 参数 | 名称 |
|---|---|---|
| struct rt_mutex_waiter * | waiter |
| 95 | task等于pid_task(deadlock_task_pid, 单一进程) |
| 96 | 如果非task则 |
| 106 | 打印警告信息("\n") |
| 107 | 打印警告信息("============================================\n") |
| 108 | 打印警告信息("WARNING: circular locking deadlock detected!\n") |
| 110 | 打印警告信息("--------------------------------------------\n") |
| 111 | printk("%s/%d is deadlocking current task %s/%d\n\n", 是否使用FPU, task_pid_nr(task), comm, task_pid_nr(当前进程)) |
| 115 | printk("\n1) %s/%d is trying to acquire this lock:\n", comm, task_pid_nr(当前进程)) |
| 117 | printk_lock(lock, 1) |
| 119 | printk("\n2) %s/%d is blocked on this lock:\n", 是否使用FPU, task_pid_nr(task)) |
| 121 | printk_lock(deadlock_lock, 1) |
| 126 | printk("\n%s/%d's [blocked] stackdump:\n\n", 是否使用FPU, task_pid_nr(task)) |
| 128 | show_stack(task, NULL) |
| 129 | printk("\n%s/%d's [current] stackdump:\n\n", comm, task_pid_nr(当前进程)) |
| 131 | dump_stack() |
| 132 | debug_show_all_locks() |
| 135 | printk("[ turning off deadlock detection.Please report this trace. ]\n\n") |
| 名称 | 描述 |
|---|---|
| __rt_mutex_slowlock | __rt_mutex_slowlock() - Perform the wait-wake-try-to-take loop*@lock: the rt_mutex to take*@state: the state the task should block in (TASK_INTERRUPTIBLE* or TASK_UNINTERRUPTIBLE)*@timeout: the pre-initialized and started timer, or NULL for none*@waiter: |
| __rt_mutex_start_proxy_lock | __rt_mutex_start_proxy_lock() - Start lock acquisition for another task*@lock: the rt_mutex to take*@waiter: the pre-initialized rt_mutex_waiter*@task: the task to prepare* Starts the rt_mutex acquire; it enqueues the @waiter and does deadlock* detection |
| 源代码转换工具 开放的插件接口 | X |
|---|---|
| 支持:c/c++/esqlc/java Oracle/Informix/Mysql 插件可实现:逻辑报告 代码生成和批量转换代码 |