函数逻辑报告 |
Source Code:kernel\locking\rtmutex.c |
Create Date:2022-07-27 10:52:31 |
Last Modify:2020-03-17 14:26:38 | Copyright©Brick |
首页 | 函数Tree |
注解内核,赢得工具 | 下载SCCT | English |
函数名称:Remove a waiter from a lock and give up* Must be called with lock->wait_lock held and interrupts disabled. I must* have just failed to try_to_take_rt_mutex().
函数原型:static void remove_waiter(struct rt_mutex *lock, struct rt_mutex_waiter *waiter)
返回类型:void
参数:
类型 | 参数 | 名称 |
---|---|---|
struct rt_mutex * | lock | |
struct rt_mutex_waiter * | waiter |
1070 | is_top_waiter等于waiter恒等于rt_mutex_top_waiter(lock) |
1071 | owner等于rt_mutex_owner(lock) |
1074 | lockdep_assert_held( & 保护自旋锁) |
1076 | raw_spin_lock( & pi_lock) |
1077 | rt_mutex_dequeue(lock, waiter) |
1078 | pi_blocked_on = NULL |
1079 | raw_spin_unlock( & pi_lock) |
1085 | 如果非owner或非is_top_waiter则返回 |
1090 | rt_mutex_dequeue_pi(owner, waiter) |
1095 | rt_mutex_adjust_prio(owner) |
1098 | next_lock等于task_blocked_on_lock(owner) |
1106 | 如果非next_lock则返回 |
1110 | get_task_struct(owner) |
1112 | raw_spin_unlock_irq( & 保护自旋锁) |
名称 | 描述 |
---|---|
rt_mutex_slowlock | Slow path lock function: |
rt_mutex_start_proxy_lock | _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 |
rt_mutex_cleanup_proxy_lock | _mutex_cleanup_proxy_lock() - Cleanup failed lock acquisition*@lock: the rt_mutex we were woken on*@waiter: the pre-initialized rt_mutex_waiter* Attempt to clean up after a failed __rt_mutex_start_proxy_lock() or* rt_mutex_wait_proxy_lock() |
源代码转换工具 开放的插件接口 | X |
---|---|
支持:c/c++/esqlc/java Oracle/Informix/Mysql 插件可实现:逻辑报告 代码生成和批量转换代码 |