Defined in 1 files as a function:
Referenced in 9 files:
- kernel/sched/core.c
- kernel/sched/core_sched.c, line 93
- kernel/sched/deadline.c
- kernel/sched/ext/ext.c, line 4105
- kernel/sched/fair.c, line 10897
- kernel/sched/rt.c
- kernel/sched/sched.h, line 4170
- kernel/sched/stats.h, line 135
- kernel/sched/syscalls.c, line 1439
Smatch caller information:
kernel/sched/build_policy.c find_lock_later_rq() -> task_on_cpu()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | rq | 4096-ptr_max |
| PARAM_VALUE | 1 | p | 4096-ptr_max |
| CAPPED_DATA | 0 | rq | 1 |
| CAPPED_DATA | 1 | p | 1 |
| DATA_SOURCE | 0 | rq | $1 |
| DATA_SOURCE | 1 | p | $0 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NO_OVERFLOW_SIMPLE | 0 | rq->fair_server.dl_runtime | |
| UNITS | 1 | p | unit_byte |
| HALF_LOCKED2 | irq | ||
| HALF_LOCKED2 | 0 | rq | |
| HALF_LOCKED2 | 1 | &p->pi_lock |
kernel/sched/build_policy.c pick_next_pushable_dl_task() -> task_on_cpu()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | rq | 4096-ptr_max |
| PARAM_VALUE | 1 | p | 4096-ptr_max |
| BUF_SIZE | 0 | rq->next_class | (-1),248 |
| CAPPED_DATA | 0 | rq | 1 |
| DATA_SOURCE | 0 | rq | $0 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NO_OVERFLOW_SIMPLE | 0 | rq->fair_server.dl_runtime | |
| NO_OVERFLOW_SIMPLE | 0 | rq->fair_server.pi_se->dl_runtime | |
| UNITS | 1 | p | unit_byte |
| HALF_LOCKED2 | 0 | rq |
kernel/sched/build_policy.c pick_next_pushable_task() -> task_on_cpu()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | rq | 4096-ptr_max |
| PARAM_VALUE | 1 | p | 4096-ptr_max |
| BUF_SIZE | 0 | rq->next_class | (-1),248 |
| CAPPED_DATA | 0 | rq | 1 |
| CAPPED_DATA | 1 | &p->pushable_tasks.node_list | 1 |
| DATA_SOURCE | 0 | rq | $0 |
| PARAM_COMPARE | 0 | &rq->rt.pushable_tasks.node_list | != $0->rt.pushable_tasks.node_list.next |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NO_OVERFLOW_SIMPLE | 0 | rq->fair_server.pi_se->dl_runtime | |
| HALF_LOCKED2 | 0 | rq |
kernel/sched/build_policy.c task_is_pushable() -> task_on_cpu()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | rq | 4096-ptr_max |
| PARAM_VALUE | 1 | p | 4096-ptr_max |
| DATA_SOURCE | 0 | rq | $0 |
| DATA_SOURCE | 1 | p | $1 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NO_OVERFLOW_SIMPLE | 0 | rq->fair_server.dl_runtime | |
| UNITS | 1 | p | unit_byte |
| HALF_LOCKED2 | irq |
kernel/sched/build_policy.c task_woken_dl() -> task_on_cpu()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | rq | 4096-ptr_max |
| PARAM_VALUE | 1 | p | 4096-ptr_max |
| BUF_SIZE | 1 | p | (-1)-s32max |
| BUF_SIZE | 1 | p | (-1)-s32max |
| BUF_SIZE | 1 | p->vfork_done | (-1),96 |
| CAPPED_DATA | 0 | rq | 1 |
| CAPPED_DATA | 1 | p | 1 |
| CAPPED_DATA | 1 | p->sched_class | 1 |
| DATA_SOURCE | 0 | rq | $0 |
| DATA_SOURCE | 1 | p | $1 |
| NOSPEC | 1 | p->thread.fsbase | |
| NOSPEC | 1 | p->thread.gsbase | |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| USER_DATA | 1 | p->dl.pi_se->runtime | 1-17592186044415[c] |
| USER_DATA | 1 | p->exit_code | 0-64 |
| USER_DATA | 1 | p->exit_signal | 1-64[c] |
| USER_DATA | 1 | p->group_leader->thread.fsbase | 0-u32max |
| USER_DATA | 1 | p->group_leader->thread.gsbase | 0-u32max |
| USER_DATA | 1 | p->ptrace | 0-u32max[c] |
| USER_DATA | 1 | p->syscall_dispatch.len | 0-u64max |
| USER_DATA | 1 | p->syscall_dispatch.offset | 0-s32max[c] |
| USER_DATA | 1 | p->thread.ds | 0-u16max |
| USER_DATA | 1 | p->thread.es | 0-u16max |
| USER_DATA | 1 | p->thread.features_locked | 0-u64max[c][u] |
| USER_DATA | 1 | p->thread.fsbase | 0-u32max |
| USER_DATA | 1 | p->thread.fsindex | 0-u16max |
| USER_DATA | 1 | p->thread.gsbase | 0-u32max |
| USER_DATA | 1 | p->thread.gsindex | 0-u16max |
| USER_DATA | 1 | p->thread.ptrace_dr7 | 0-u64max |
| USER_DATA | 1 | p->thread.virtual_dr6 | 0-u64max |
| NO_OVERFLOW_SIMPLE | 1 | p->dl.pi_se->dl_runtime | |
| NO_OVERFLOW_SIMPLE | 1 | p->nsproxy->pid_ns_for_children->pid_cachep->sheaf_capacity | |
| HALF_LOCKED2 | rf.flags | ||
| HALF_LOCKED2 | 0 | rq | |
| HALF_LOCKED2 | 1 | &p->pi_lock | |
| HALF_LOCKED2 | 1 | &p->sighand->siglock |
kernel/sched/build_policy.c task_woken_rt() -> task_on_cpu()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | rq | 4096-ptr_max |
| PARAM_VALUE | 1 | p | 4096-ptr_max |
| BUF_SIZE | 1 | p | (-1)-s32max |
| BUF_SIZE | 1 | p | (-1)-s32max |
| BUF_SIZE | 1 | p->vfork_done | (-1),96 |
| CAPPED_DATA | 0 | rq | 1 |
| CAPPED_DATA | 1 | p | 1 |
| CAPPED_DATA | 1 | p->sched_class | 1 |
| DATA_SOURCE | 0 | rq | $0 |
| DATA_SOURCE | 1 | p | $1 |
| NOSPEC | 1 | p->thread.fsbase | |
| NOSPEC | 1 | p->thread.gsbase | |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| USER_DATA | 1 | p->dl.pi_se->runtime | 1-17592186044415[c] |
| USER_DATA | 1 | p->exit_code | 0-64 |
| USER_DATA | 1 | p->exit_signal | 1-64[c] |
| USER_DATA | 1 | p->group_leader->thread.fsbase | 0-u32max |
| USER_DATA | 1 | p->group_leader->thread.gsbase | 0-u32max |
| USER_DATA | 1 | p->ptrace | 0-u32max[c] |
| USER_DATA | 1 | p->syscall_dispatch.len | 0-u64max |
| USER_DATA | 1 | p->syscall_dispatch.offset | 0-s32max[c] |
| USER_DATA | 1 | p->thread.ds | 0-u16max |
| USER_DATA | 1 | p->thread.es | 0-u16max |
| USER_DATA | 1 | p->thread.features_locked | 0-u64max[c][u] |
| USER_DATA | 1 | p->thread.fsbase | 0-u32max |
| USER_DATA | 1 | p->thread.fsindex | 0-u16max |
| USER_DATA | 1 | p->thread.gsbase | 0-u32max |
| USER_DATA | 1 | p->thread.gsindex | 0-u16max |
| USER_DATA | 1 | p->thread.ptrace_dr7 | 0-u64max |
| USER_DATA | 1 | p->thread.virtual_dr6 | 0-u64max |
| NO_OVERFLOW_SIMPLE | 1 | p->dl.pi_se->dl_runtime | |
| NO_OVERFLOW_SIMPLE | 1 | p->nsproxy->pid_ns_for_children->pid_cachep->sheaf_capacity | |
| HALF_LOCKED2 | rf.flags | ||
| HALF_LOCKED2 | 0 | rq | |
| HALF_LOCKED2 | 1 | &p->pi_lock | |
| HALF_LOCKED2 | 1 | &p->sighand->siglock |
kernel/sched/build_policy.c yield_to() -> task_on_cpu()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 1 | p | 4096-ptr_max |
| CAPPED_DATA | 0 | rq | 1 |
| CAPPED_DATA | 1 | p->sched_class | 1 |
| DATA_SOURCE | 1 | p | $0 |
| LOCK2 | irq | ||
| LOCK2 | 1 | &p->pi_lock | |
| TYPE_LOCK | (struct task_struct)->pi_lock |
kernel/sched/build_utility.c sched_core_update_cookie() -> task_on_cpu()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | rq | 4096-ptr_max |
| PARAM_VALUE | 1 | p | 4096-ptr_max |
| CAPPED_DATA | 1 | p->core_cookie | 1 |
| DATA_SOURCE | 0 | rq | r _task_rq_lock |
| DATA_SOURCE | 1 | p | $0 |
| HALF_LOCKED2 | global &tasklist_lock |
kernel/sched/fair.c can_migrate_task() -> task_on_cpu()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | rq | 4096-ptr_max |
| PARAM_VALUE | 1 | p | 4096-ptr_max |
| DATA_SOURCE | 1 | p | $0 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | busiest | ||
| HALF_LOCKED2 | busiest_rq | ||
| HALF_LOCKED2 | irq | ||
| HALF_LOCKED2 | rcu_read | ||
| HALF_LOCKED2 | rf.flags |
kernel/sched/core.c affine_move_task() -> task_on_cpu()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | rq | 4096-ptr_max |
| PARAM_VALUE | 1 | p | 4096-ptr_max |
| BUF_SIZE | 1 | p | (-1),1-s32max |
| BUF_SIZE | 1 | p | (-1),1-s32max |
| BUF_SIZE | 1 | p->group_leader | (-1),1-s32max |
| BUF_SIZE | 1 | p->mempolicy | (-1),1-s32max |
| BUF_SIZE | 1 | p->migration_pending | (-1),176 |
| CAPPED_DATA | 0 | rq->donor | 1 |
| CAPPED_DATA | 1 | p | 1 |
| DATA_SOURCE | 0 | rq | $0 |
| DATA_SOURCE | 1 | p | $1 |
| NOSPEC | 1 | p->thread.fsbase | |
| NOSPEC | 1 | p->thread.gsbase | |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| USER_DATA | 1 | p->dl.pi_se->runtime | 1-17592186044415[c] |
| USER_DATA | 1 | p->exit_signal | 1-64[c] |
| USER_DATA | 1 | p->group_leader->thread.fsbase | 0-s32max[c] |
| USER_DATA | 1 | p->group_leader->thread.gsbase | 0-s32max[c] |
| USER_DATA | 1 | p->thread.fsbase | 0-s32max[c] |
| USER_DATA | 1 | p->thread.gsbase | 0-s32max[c] |
| NO_OVERFLOW_SIMPLE | 1 | p->dl.pi_se->dl_runtime | |
| LOCK2 | rf.flags | ||
| LOCK2 | 1 | &p->pi_lock | |
| TYPE_LOCK | (struct task_struct)->pi_lock |
kernel/sched/core.c psi_enqueue() -> task_on_cpu()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 1 | p | 4096-ptr_max |
| BUF_SIZE | 1 | p | (-1),1-s32max |
| BUF_SIZE | 1 | p | (-1),1-s32max |
| BUF_SIZE | 1 | p->migration_pending | (-1),176 |
| BUF_SIZE | 1 | p->vfork_done | (-1),96 |
| DATA_SOURCE | 1 | p | $0 |
| NOSPEC | 1 | p->thread.fsbase | |
| NOSPEC | 1 | p->thread.gsbase | |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| USER_DATA | 1 | p->dl.pi_se->runtime | 1-17592186044415[c] |
| USER_DATA | 1 | p->exit_code | 0-64 |
| USER_DATA | 1 | p->exit_signal | 1-64[c] |
| USER_DATA | 1 | p->group_leader->thread.fsbase | 0-s32max[c] |
| USER_DATA | 1 | p->group_leader->thread.gsbase | 0-s32max[c] |
| USER_DATA | 1 | p->ptrace | 0-u32max[c] |
| USER_DATA | 1 | p->syscall_dispatch.len | 0-u64max |
| USER_DATA | 1 | p->syscall_dispatch.offset | 0-s32max[c] |
| USER_DATA | 1 | p->thread.ds | 0-u16max |
| USER_DATA | 1 | p->thread.es | 0-u16max |
| USER_DATA | 1 | p->thread.features_locked | 0-u64max[c][u] |
| USER_DATA | 1 | p->thread.fsbase | 0-s32max[c] |
| USER_DATA | 1 | p->thread.fsindex | 0-u16max |
| USER_DATA | 1 | p->thread.gsbase | 0-s32max[c] |
| USER_DATA | 1 | p->thread.gsindex | 0-u16max |
| USER_DATA | 1 | p->thread.ptrace_dr7 | 0-u64max |
| USER_DATA | 1 | p->thread.virtual_dr6 | 0-u64max |
| NO_OVERFLOW_SIMPLE | 1 | p->dl.pi_se->dl_runtime | |
| NO_OVERFLOW_SIMPLE | 1 | p->nsproxy->pid_ns_for_children->pid_cachep->sheaf_capacity | |
| UNITS | 1 | p | unit_byte |
| HALF_LOCKED2 | irq | ||
| HALF_LOCKED2 | 1 | &p->pi_lock | |
| HALF_LOCKED2 | 1 | &p->sighand->siglock |
kernel/sched/core.c ttwu_runnable() -> task_on_cpu()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | rq | 4096-ptr_max |
| PARAM_VALUE | 1 | p | 4096-ptr_max |
| BUF_SIZE | 1 | p | (-1),1-s32max |
| BUF_SIZE | 1 | p | (-1),1-s32max |
| BUF_SIZE | 1 | p->group_leader | (-1),1-s32max |
| BUF_SIZE | 1 | p->mempolicy | (-1),1-s32max |
| CAPPED_DATA | 1 | p | 1 |
| DATA_SOURCE | 1 | p | $0 |
| NOSPEC | 1 | p->thread.fsbase | |
| NOSPEC | 1 | p->thread.gsbase | |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| USER_DATA | 1 | p->exit_code | 0-64 |
| USER_DATA | 1 | p->exit_signal | 1-64[c] |
| USER_DATA | 1 | p->group_leader->thread.fsbase | 0-s32max[c] |
| USER_DATA | 1 | p->group_leader->thread.gsbase | 0-s32max[c] |
| USER_DATA | 1 | p->ptrace | 0-u32max[c] |
| USER_DATA | 1 | p->syscall_dispatch.len | 0-u64max |
| USER_DATA | 1 | p->syscall_dispatch.offset | 0-s32max[c] |
| USER_DATA | 1 | p->thread.ds | 0-u16max |
| USER_DATA | 1 | p->thread.es | 0-u16max |
| USER_DATA | 1 | p->thread.features_locked | 0-u64max[c][u] |
| USER_DATA | 1 | p->thread.fsbase | 0-s32max[c] |
| USER_DATA | 1 | p->thread.fsindex | 0-u16max |
| USER_DATA | 1 | p->thread.gsbase | 0-s32max[c] |
| USER_DATA | 1 | p->thread.gsindex | 0-u16max |
| USER_DATA | 1 | p->thread.ptrace_dr7 | 0-u64max |
| USER_DATA | 1 | p->thread.virtual_dr6 | 0-u64max |
| NO_OVERFLOW_SIMPLE | 1 | p->dl.pi_se->dl_runtime | |
| NO_OVERFLOW_SIMPLE | 1 | p->nsproxy->pid_ns_for_children->pid_cachep->sheaf_capacity | |
| UNITS | 1 | p | unit_byte |
| LOCK2 | irq | ||
| LOCK2 | 1 | &p->pi_lock | |
| HALF_LOCKED2 | flags | ||
| HALF_LOCKED2 | 1 | &p->sighand->siglock | |
| TYPE_LOCK | (struct task_struct)->pi_lock |
kernel/sched/core.c wait_task_inactive() -> task_on_cpu()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 1 | p | 4096-ptr_max |
| DATA_SOURCE | 1 | p | $0 |
| STR_LEN | 0 | rq | (-1),8-9,11-29,31-34,38 |
| STR_LEN | 1 | p | (-1),8-9,11-29,31-34,38 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NO_OVERFLOW_SIMPLE | 1 | p->dl.pi_se->dl_runtime | |
| UNITS | 1 | p | unit_byte |
| HALF_LOCKED2 | &m->lock | ||
| HALF_LOCKED2 | global &smpboot_threads_lock | ||
| HALF_LOCKED2 | 1 | &p->signal->exec_update_lock |
kernel/sched/core.c wait_task_inactive() -> task_on_cpu()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 1 | p | 4096-ptr_max |
| PARAM_VALUE | 1 | p->on_cpu | 1-255 |
| DATA_SOURCE | 1 | p | $0 |
| STR_LEN | 0 | rq | (-1),8-9,11-29,31-34,38 |
| STR_LEN | 1 | p | (-1),8-9,11-29,31-34,38 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NO_OVERFLOW_SIMPLE | 1 | p->dl.pi_se->dl_runtime | |
| UNITS | 1 | p | unit_byte |
| HALF_LOCKED2 | &m->lock | ||
| HALF_LOCKED2 | global &smpboot_threads_lock | ||
| HALF_LOCKED2 | 1 | &p->signal->exec_update_lock |
kernel/sched/core.c wait_task_inactive() -> task_on_cpu()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | rq | 4096-ptr_max |
| PARAM_VALUE | 1 | p | 4096-ptr_max |
| DATA_SOURCE | 0 | rq | r _task_rq_lock |
| DATA_SOURCE | 1 | p | $0 |
| STR_LEN | 0 | rq | (-1),8-9,11-29,31-34,38 |
| STR_LEN | 1 | p | (-1),8-9,11-29,31-34,38 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NO_OVERFLOW_SIMPLE | 1 | p->dl.pi_se->dl_runtime | |
| UNITS | 1 | p | unit_byte |
| LOCK2 | rf.flags | ||
| LOCK2 | 1 | &p->pi_lock | |
| HALF_LOCKED2 | &m->lock | ||
| HALF_LOCKED2 | global &smpboot_threads_lock | ||
| HALF_LOCKED2 | 1 | &p->signal->exec_update_lock | |
| TYPE_LOCK | (struct task_struct)->pi_lock |