函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:kernel\locking\mutex.c Create Date:2022-07-27 10:47:40
Last Modify:2020-03-12 14:18:49 Copyright©Brick
首页 函数Tree
注解内核,赢得工具下载SCCTEnglish

函数名称:We just acquired @lock under @ww_ctx, if there are later contexts waiting* behind us on the wait-list, check if they need to die, or wound us.* See __ww_mutex_add_waiter() for the list-order construction; basically the

函数原型:static void __sched __ww_mutex_check_waiters(struct mutex *lock, struct ww_acquire_ctx *ww_ctx)

返回类型:void

参数:

类型参数名称
struct mutex *lock
struct ww_acquire_ctx *ww_ctx
448  lockdep_assert_held( & wait_lock)
451  如果非ww_ctx则继续下一循环
454  如果Wait-Die; wake a younger waiter context (when locks held) such that it can* die.* Among waiters with context, only the first one can have other locks acquired* already (ctx->acquired > 0), because __ww_mutex_add_waiter() andWound-Wait; wound a younger @hold_ctx if it holds the lock.* Wound the lock holder if there are waiters with older transactions than* the lock holders. Even if multiple waiters may wound the lock holder,* it's sufficient that only one does.退出
调用者
名称描述
ww_mutex_set_context_fastpathAfter acquiring lock with fastpath, where we do not hold wait_lock, set ctx* and wake up any waiters so they can recheck.
__mutex_lock_commonLock a mutex (possibly interruptible), slowpath: