Function report

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:kernel\time\posix-cpu-timers.c Create Date:2022-07-28 10:47:58
Last Modify:2020-03-12 14:18:49 Copyright©Brick
home page Tree
Annotation kernel can get tool activityDownload SCCTChinese

Name:Check for any per-thread CPU timers that have fired and move them off* the tsk->cpu_timers[N] list onto the firing list. Here we update the

Proto:static void check_thread_timers(struct task_struct *tsk, struct list_head *firing)

Type:void

Parameter:

TypeParameterName
struct task_struct *tsk>it_*_expires values to reflect the remaining thread CPU timers.
struct list_head *firing
829  pct = Empty if CONFIG_POSIX_CPUTIMERS=n
833  If dl_task(>it_*_expires values to reflect the remaining thread CPU timers.) Then check_dl_overrun(>it_*_expires values to reflect the remaining thread CPU timers.)
836  If Check whether all cache entries contain U64_MAX, i.e. eternal expiry time Then Return
839  task_sample_cputime(>it_*_expires values to reflect the remaining thread CPU timers., samples)
840  collect_posix_cputimers(pct, samples, firing)
845  soft = task_rlimit(>it_*_expires values to reflect the remaining thread CPU timers., RLIMIT_RTTIME)
846  If soft != RLIM_INFINITY Then
848  rttime = timeout * USEC_PER_SEC / HZ
849  hard = task_rlimit_max(>it_*_expires values to reflect the remaining thread CPU timers., RLIMIT_RTTIME)
852  If hard != RLIM_INFINITY && check_rlimit(rttime, hard, SIGKILL, true, true) Then Return
857  If check_rlimit(rttime, soft, SIGXCPU, true, false) Then
858  soft += USEC_PER_SEC
859  rlim_cur = soft
863  If Check whether all cache entries contain U64_MAX, i.e. eternal expiry time Then tick_dep_clear_task(>it_*_expires values to reflect the remaining thread CPU timers., TICK_DEP_BIT_POSIX_TIMER)
Caller
NameDescribe
run_posix_cpu_timersThis is called from the timer interrupt handler. The irq handler has* already updated our counts. We need to check if any timers fire now.* Interrupts are disabled.