函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

函数名称:Sample a process (thread group) clock for the given task clkid. If the* group's cputime accounting is already enabled, read the atomic* store. Otherwise a full update is required. Task's sighand lock must be

函数原型:static u64 cpu_clock_sample_group(const clockid_t clkid, struct task_struct *p, bool start)

返回类型:u64

参数:

类型参数名称
const clockid_tclkid
struct task_struct *p
boolstart
346  cputimer等于cputimer
347  pct等于 Empty if CONFIG_POSIX_CPUTIMERS=n
350  如果非READ_ONCE(timers_active)则
351  如果starthread_group_start_cputime - Start cputime and return a sample*@tsk: Task for which cputime needs to be started*@samples: Storage for time samples* The thread group cputime accouting is avoided when there are no posix* CPU timers armed
353  否则__thread_group_cputime(p, samples)
355  否则
356  proc_sample_cputime_atomic( & cputime_atomic, samples)
359  返回:samples[clkid]
调用者
名称描述
posix_cpu_clock_get
posix_cpu_timer_setGuts of sys_timer_settime for CPU timers.* This is called with the timer locked and interrupts disabled.* If we return TIMER_RETRY, it's necessary to release the timer's lock* and try again. (This happens when the timer is in the middle of firing.)
posix_cpu_timer_get
posix_cpu_timer_rearm
set_process_cpu_timerSet one of the process-wide special case CPU timers or RLIMIT_CPU.* The tsk->sighand->siglock must be held by the caller.