函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:kernel\locking\rtmutex.c Create Date:2022-07-27 10:52:29
Last Modify:2020-03-17 14:26:38 Copyright©Brick
首页 函数Tree
注解内核,赢得工具下载SCCTEnglish

函数名称:Remove the top waiter from the current tasks pi waiter tree and* queue it up.* Called with lock->wait_lock held and interrupts disabled.

函数原型:static void mark_wakeup_next_waiter(struct wake_q_head *wake_q, struct rt_mutex *lock)

返回类型:void

参数:

类型参数名称
struct wake_q_head *wake_q
struct rt_mutex *lock
1022  raw_spin_lock( & pi_lock)
1024  waiter等于rt_mutex_top_waiter(lock)
1033  rt_mutex_dequeue_pi(当前进程, waiter)
1034  rt_mutex_adjust_prio(当前进程)
1044  独占进程等于lock->owner state tracking:
1056  禁止抢占()
1057  wake_q_add() - queue a wakeup for 'later' waking
1058  raw_spin_unlock( & pi_lock)
调用者
名称描述
rt_mutex_slowunlockSlow path to release a rt-mutex.* Return whether the current task needs to call rt_mutex_postunlock().
__rt_mutex_futex_unlockFutex variant, that since futex variants do not use the fast-path, can be* simple and will not need to retry.