Function report

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:kernel\sched\core.c Create Date:2022-07-28 09:35:27
Last Modify:2022-05-22 13:40:38 Copyright©Brick
home page Tree
Annotation kernel can get tool activityDownload SCCTChinese

Name:update_rq_clock

Proto:void update_rq_clock(struct rq *rq)

Type:void

Parameter:

TypeParameterName
struct rq *rq
204  lockdep_assert_held( & runqueue lock: )
206  If clock_update_flags & RQCF_ACT_SKIP Then Return
215  delta = sched_clock_cpu(cpu_of(rq)) - clock
216  If delta < 0 Then Return
218  clock += delta
219  RQ-clock updating methods:
Caller
NameDescribe
enqueue_task
dequeue_task
ttwu_remoteCalled in case the task @p isn't fully descheduled from its runqueue,* in this case we must do a remote wakeup. Its a 'light' wakeup though,* since all we need to do is flip p->state to TASK_RUNNING, since* the task is still ->on_rq.
ttwu_queue
wake_up_new_taskwake_up_new_task - wake up a newly created task for the first time.* This function will do some initial scheduler statistics housekeeping* that must be done for every newly created context, then puts the task* on the runqueue and wakes it.
task_sched_runtimeReturn accounted runtime for the task.* In case the task is currently running, return the runtime plus current's* pending runtime that have not been accounted yet.
scheduler_tickThis function gets called by the timer code, with HZ frequency.* We call it with interrupts disabled.
__schedule__schedule() is the main scheduler function.* The main means of driving the scheduler and thus entering this function are:* 1. Explicit blocking: mutex, semaphore, waitqueue, etc.* 2. TIF_NEED_RESCHED flag is checked on interrupt and userspace return
set_user_nice
__sched_setscheduler
yield_task_fairsched_yield() is very simple* The magic of dealing with the ->skip buddy is in pick_next_entity.
task_fork_fairalled on fork with the child task as argument from the parent's context* - child not yet on the tasklist* - preemption disabled
do_sched_rt_period_timer
dl_task_timerThis is the bandwidth enforcement timer callback
inactive_task_timer
yield_task_dlYield task semantic for -deadline tasks is:* get off from the CPU until our next instance, with* a new runtime