函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

函数名称:hrtimer_try_to_cancel - try to deactivate a timer*@timer: hrtimer to stop* Returns:* * 0 when the timer was not active* * 1 when the timer was active* * -1 when the timer is currently executing the callback function and* cannot be stopped

函数原型:int hrtimer_try_to_cancel(struct hrtimer *timer)

返回类型:int

参数:

类型参数名称
struct hrtimer *timer
1155  ret等于负1
1163  如果非A timer is active, when it is enqueued into the rbtree or the* callback function is running or it's in the state of being migrated* to another cpu.* It is important for this function to not return a false negative.则返回:0
1166  base等于lock_hrtimer_base(timer, & flags)
1168  如果非Helper function to check, whether the timer is running the callback* functionret等于move hrtimer, called with base lock held
1171  Counterpart to lock_hrtimer_base above:
1173  返回:ret
调用者
名称描述
task_contending
switched_to_dlWhen switching to -deadline, we may overload the rq, then* we try to push someone off, if possible.
hrtimer_cancelhrtimer_cancel - cancel a timer and wait for the handler to finish.*@timer: the timer to be cancelled* Returns:* 0 when the timer was not active* 1 when the timer was active
alarm_try_to_cancelalarm_try_to_cancel - Tries to cancel an alarm timer*@alarm: ptr to alarm to be canceled* Returns 1 if the timer was canceled, 0 if it was not running,* and -1 if the callback was running
common_hrtimer_try_to_cancel
do_setitimer
bc_shutdown
bfq_rq_enqueuedCalled when a new fs request (rq) is added to bfqq. Check if there's* something we should do about it.
__bfq_bfqd_reset_in_servicerns true if the in-service queue gets freed
io_kill_timeout
io_link_cancel_timeout
io_timeout_cancel
dl_change_utilization
tcp_clear_xmit_timers
bfq_select_queueSelect a queue for service. If we have a current queue in service,* check whether to continue servicing it, or retrieve and set a new one.
do_timerfd_settime