函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

函数名称:__remove_hrtimer - internal function to remove a timer* Caller must hold the base lock.* High resolution timer mode reprograms the clock event device when the* timer is the one which expires next. The caller can disable this by setting* reprogram to zero

函数原型:static void __remove_hrtimer(struct hrtimer *timer, struct hrtimer_clock_base *base, u8 newstate, int reprogram)

返回类型:void

参数:

类型参数名称
struct hrtimer *timer
struct hrtimer_clock_base *base
u8newstate
intreprogram
989  cpu_base等于cpu_base
990  state等于state
993  WRITE_ONCE(state, newstate)
994  如果非state按位与HRTIMER_STATE_ENQUEUED的值则返回
997  如果非从时钟队列移除定时器active_bases与等于1左移index位的值的反
1008  如果reprogramtimer恒等于next_timerReprogram the event source with checking both queues for the* next event* Called with interrupts disabled and base->lock held
调用者
名称描述
remove_hrtimermove hrtimer, called with base lock held
__run_hrtimerThe 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