Function report |
Source Code:kernel\sched\fair.c |
Create Date:2022-07-28 09:38:41 |
Last Modify:2020-03-12 14:18:49 | Copyright©Brick |
home page | Tree |
Annotation kernel can get tool activity | Download SCCT | Chinese |
Name:The enqueue_task method is called before nr_running is* increased. Here we update the fair scheduling stats and* then put the task into the rbtree:
Proto:static void enqueue_task_fair(struct rq *rq, struct task_struct *p, int flags)
Type:void
Parameter:
Type | Parameter | Name |
---|---|---|
struct rq * | rq | |
struct task_struct * | p | |
int | flags |
5209 | idle_h_nr_running = task_has_idle_policy(p) |
5217 | util_est_enqueue( & cfs, p) |
5224 | If in_iowait Then cpufreq_update_util(rq, Interface between cpufreq drivers and the scheduler:) |
5228 | If on_rq Then Break |
5239 | If cfs_rq_throttled(cfs_rq) Then Break |
5241 | SCHED_{NORMAL,BATCH,IDLE} ++ |
5242 | SCHED_IDLE += idle_h_nr_running |
5244 | flags = ENQUEUE_WAKEUP |
5249 | SCHED_{NORMAL,BATCH,IDLE} ++ |
5250 | SCHED_IDLE += idle_h_nr_running |
5252 | If cfs_rq_throttled(cfs_rq) Then Break |
5255 | update_load_avg(cfs_rq, se, UPDATE_TG) |
5256 | update_cfs_group(se) |
5259 | If Not se Then |
5260 | add_nr_running(rq, 1) |
5275 | If flags & ENQUEUE_WAKEUP Then update_overutilized_status(rq) |
5280 | If CFS bandwidth control machinery Then |
5290 | If list_add_leaf_cfs_rq(cfs_rq) Then Break |
5295 | assert_list_leaf_cfs_rq(rq) |
5297 | hrtick_update(rq) |
Source code conversion tool public plug-in interface | X |
---|---|
Support c/c++/esqlc/java Oracle/Informix/Mysql Plug-in can realize: logical Report Code generation and batch code conversion |