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 |