函数逻辑报告 |
Source Code:kernel\locking\rtmutex_common.h |
Create Date:2022-07-27 10:52:09 |
Last Modify:2020-03-12 14:18:49 | Copyright©Brick |
首页 | 函数Tree |
注解内核,赢得工具 | 下载SCCT | English |
函数名称:rt_mutex_owner
函数原型:static inline struct task_struct *rt_mutex_owner(struct rt_mutex *lock)
返回类型:struct task_struct
参数:
类型 | 参数 | 名称 |
---|---|---|
struct rt_mutex * | lock |
112 | 返回:owner按位与lock->owner state tracking:的反 |
名称 | 描述 |
---|---|
unlock_rt_mutex_safe | Safe fastpath aware unlock:* 1) Clear the waiters bit* 2) Drop lock->wait_lock* 3) Try to unlock the lock with cmpxchg |
rt_mutex_adjust_prio_chain | Adjust the priority chain |
try_to_take_rt_mutex | Try to take an rt-mutex* Must be called with lock->wait_lock held and interrupts disabled*@lock: The lock to be acquired |
task_blocks_on_rt_mutex | Task blocks on lock.* Prepare waiter and propagate pi chain* This must be called with lock->wait_lock held and interrupts disabled |
remove_waiter | 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(). |
rt_mutex_slowtrylock | Slow path try-lock function: |
__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 |
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() |
printk_lock | |
debug_rt_mutex_deadlock | We fill out the fields in the waiter to store the information about* the deadlock. We print when we return. act_waiter can be NULL in* case of a remove waiter operation. |
debug_rt_mutex_unlock | |
debug_rt_mutex_proxy_unlock | |
fixup_pi_state_owner | |
fixup_owner | xup_owner() - Post lock pi_state and corner case management*@uaddr: user address of the futex*@q: futex_q (contains pi_state and access to the rt_mutex)*@locked: if the attempt to take the rt_mutex succeeded (1) or not (0)* After attempting to lock an |
futex_lock_pi | Userspace tried a 0 -> TID atomic transition of the futex value* and failed. The kernel side here does the whole locking operation:* if there are waiters then it will block as a consequence of relying* on rt-mutexes, it does PI, etc |
futex_wait_requeue_pi | ex_wait_requeue_pi() - Wait on uaddr and take uaddr2*@uaddr: the futex we initially wait on (non-pi)*@flags: futex flags (FLAGS_SHARED, FLAGS_CLOCKRT, etc |
源代码转换工具 开放的插件接口 | X |
---|---|
支持:c/c++/esqlc/java Oracle/Informix/Mysql 插件可实现:逻辑报告 代码生成和批量转换代码 |