函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

函数名称:ex_setup_timer - set up the sleeping hrtimer

函数原型:static inline struct hrtimer_sleeper *futex_setup_timer(ktime_t *time, struct hrtimer_sleeper *timeout, int flags, u64 range_ns)

返回类型:struct hrtimer_sleeper

参数:

类型参数名称
ktime_t *time
struct hrtimer_sleeper *timeout
intflags
u64range_ns
493  如果非time则返回:NULL
496  hrtimer_init_sleeper_on_stack(timeout, (flags & FLAGS_CLOCKRT) ? The IDs of the various system clocks (for POSIX.1b interval timers): : CLOCK_MONOTONIC, Time value is absolute)
503  hrtimer_set_expires_range_ns( & timer, * time, range_ns)
505  返回:timeout
调用者
名称描述
futex_wait
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