函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

函数名称:The hash bucket lock must be held when this is called.* Afterwards, the futex_q must not be accessed. Callers* must ensure to later call wake_up_q() for the actual* wakeups to occur.

函数原型:static void mark_wake_futex(struct wake_q_head *wake_q, struct futex_q *q)

返回类型:void

参数:

类型参数名称
struct wake_q_head *wake_q
struct futex_q *q
1526  p等于task
1528  如果WARN(pi_state || rt_waiter, "refusing to wake PI futex\n")则返回
1531  get_task_struct(p)
1532  __unqueue_futex() - Remove the futex_q from its futex_hash_bucket*@q: The futex_q to unqueue* The q->lock_ptr must not be NULL and must be held by the caller.
1540  smp_store_release( & lock_ptr, NULL)
1546  wake_q_add_safe() - safely queue a wakeup for 'later' waking
调用者
名称描述
futex_wakeWake up waiters matching bitset queued on this futex (uaddr).
futex_wake_opWake up all waiters hashed on the physical page that is mapped* to this virtual address:
futex_requeueex_requeue() - Requeue waiters from uaddr1 to uaddr2*@uaddr1: source futex user address*@flags: futex flags (FLAGS_SHARED, etc