函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

函数名称:__hrtimer_run_queues

函数原型:static void __hrtimer_run_queues(struct hrtimer_cpu_base *cpu_base, ktime_t now, unsigned long flags, unsigned int active_mask)

返回类型:void

参数:

类型参数名称
struct hrtimer_cpu_base *cpu_base
ktime_tnow
unsigned longflags
unsigned intactive_mask
1551  active等于active_bases按位与active_mask
1557  basenow等于计算下一次触发时间(now, offset)
1559 node等于返回计时器的最早的过期时间循环
1562  timer等于container_of - cast a member of a structure out to the containing structure*@ptr: the pointer to the member.*@type: the type of the container struct this is embedded in.*@member: the name of the member within the struct.(node, structhrtimer, node)
1576  如果basenow小于hrtimer_get_softexpires_tv64(timer)则退出
1579  The write_seqcount_barrier()s in __run_hrtimer() split the thing into 3* distinct sections:* - queued: the timer is queued* - callback: the timer is being ran* - post: the timer is inactive or (re)queued* On the read side we ensure we observe timer->state
1580  如果active_mask恒等于HRTIMER_ACTIVE_SOFThrtimer_sync_wait_running(cpu_base, flags)
调用者
名称描述
hrtimer_run_softirq
hrtimer_run_queuesCalled from run_local_timers in hardirq context every jiffy