函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:kernel\futex.c Create Date:2022-07-27 11:54:22
Last Modify:2020-03-17 15:28:32 Copyright©Brick
首页 函数Tree
注解内核,赢得工具下载SCCTEnglish

函数名称:The key must be already stored in q->key.

函数原型:static inline struct futex_hash_bucket *queue_lock(struct futex_q *q)__acquires(&hb->lock)

返回类型:struct futex_hash_bucket

参数:

类型参数名称
struct futex_q *q
2304  hb等于hash_futex - Return the hash bucket in the global hash*@key: Pointer to the futex key for which the hash is calculated* We hash on the keys returned from get_futex_key (see below) and return the* corresponding hash bucket in the global hash.
2314  Reflects a new waiter being added to the waitqueue.
2316  lock_ptr等于lock
2318  加自旋锁
2319  返回:hb
调用者
名称描述
futex_wait_setupex_wait_setup() - Prepare to wait on a futex*@uaddr: the futex userspace address*@val: the expected value*@flags: futex flags (FLAGS_SHARED, etc.)*@q: the associated futex_q*@hb: storage for hash_bucket pointer to be returned to caller
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