函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

函数名称:Slow path to release a rt-mutex.* Return whether the current task needs to call rt_mutex_postunlock().

函数原型:static bool __sched rt_mutex_slowunlock(struct rt_mutex *lock, struct wake_q_head *wake_q)

返回类型:bool

参数:

类型参数名称
struct rt_mutex *lock
struct wake_q_head *wake_q
1344  raw_spin_lock_irqsave( & 保护自旋锁, flags)
1346  debug_rt_mutex_unlock(lock)
1379  当非rt_mutex_has_waiters(lock)循环
1381  如果(Safe fastpath aware unlock:* 1) Clear the waiters bit* 2) Drop lock->wait_lock* 3) Try to unlock the lock with cmpxchg == true)则返回:false
1384  raw_spin_lock_irqsave( & 保护自旋锁, flags)
1393  Remove the top waiter from the current tasks pi waiter tree and* queue it up.* Called with lock->wait_lock held and interrupts disabled.
1394  raw_spin_unlock_irqrestore( & 保护自旋锁, flags)
1396  返回:true