函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

函数名称:rt_mutex_futex_unlock

函数原型:void __sched rt_mutex_futex_unlock(struct rt_mutex *lock)

返回类型:void

参数:

类型参数名称
struct rt_mutex *lock
1641  raw_spin_lock_irqsave( & 保护自旋锁, flags)
1642  postunlock等于Futex variant, that since futex variants do not use the fast-path, can be* simple and will not need to retry.
1643  raw_spin_unlock_irqrestore( & 保护自旋锁, flags)
1645  如果postunlockPerforms the wakeup of the the top-waiter and re-enables preemption.
调用者
名称描述
futex_lock_piUserspace 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_piex_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