Defined in 1 files as a function:

Referenced in 9 files:

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