Function report |
Source Code:kernel\locking\lockdep.c |
Create Date:2022-07-28 09:49:32 |
| Last Modify:2020-03-17 14:16:01 | Copyright©Brick |
| home page | Tree |
| Annotation kernel can get tool activity | Download SCCT | Chinese |
Name:lockdep_print_held_locks
Proto:static void lockdep_print_held_locks(struct task_struct *p)
Type:void
Parameter:
| Type | Parameter | Name |
|---|---|---|
| struct task_struct * | p |
| 697 | depth = READ_ONCE(lockdep_depth) |
| 699 | If Not depth Then printk("no locks held by %s/%d.\n", * executable name, excluding path. * - normally initialized setup_new_exec() * - access it with [gs]et_task_comm() * - lock it with task_lock(), task_pid_nr(p)) |
| 701 | Else printk("%d lock%s held by %s/%d:\n", depth, depth > 1 ? "s" : "", * executable name, excluding path. * - normally initialized setup_new_exec() * - access it with [gs]et_task_comm() * - lock it with task_lock(), task_pid_nr(p)) |
| 708 | If run state == Used in tsk->state: && p != current process Then Return |
| 712 | print_lock(held_locks + i) |
| Name | Describe |
|---|---|
| print_lock_nested_lock_not_held | |
| __lock_acquire | This gets called for every mutex_lock*()/spin_lock*() operation |
| print_unlock_imbalance_bug | |
| print_freed_lock_bug | |
| print_held_locks_bug | |
| debug_show_all_locks | |
| debug_show_held_locks | Careful: only use this function if you are sure that* the task cannot run in parallel! |
| lockdep_sys_exit | |
| lockdep_rcu_suspicious |
| Source code conversion tool public plug-in interface | X |
|---|---|
| Support c/c++/esqlc/java Oracle/Informix/Mysql Plug-in can realize: logical Report Code generation and batch code conversion |