Function report

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:kernel\locking\rtmutex.c Create Date:2022-07-28 09:52:14
Last Modify:2020-03-17 14:26:38 Copyright©Brick
home page Tree
Annotation kernel can get tool activityDownload SCCTChinese

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

Proto:static void mark_wakeup_next_waiter(struct wake_q_head *wake_q, struct rt_mutex *lock)

Type:void

Parameter:

TypeParameterName
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(current process, waiter)
1034  rt_mutex_adjust_prio(current process)
1044  owner = lock->owner state tracking:
1056  Even if we don't have any preemption, we need preempt disable/enable* to be barriers, so that we don't have things like get_user/put_user* that can cause faults and scheduling migrate into our preempt-protected* region.()
1057  wake_q_add() - queue a wakeup for 'later' waking
1058  raw_spin_unlock( & pi_lock)
Caller
NameDescribe
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.