Documented in 1 files:

Defined in 1 files as a struct:

Defined in 1 files as a prototype:

Defined in 1 files as a member:

Defined in 1 files as a function:

Referenced in 11 files:

Smatch caller information:

kernel/rcu/tree.c rcu_is_rcuc_kthread_starving() -> idle_cpu()

Type Parameter Key Value
PARAM_VALUE 0 cpu 0-s32max
DATA_SOURCE 0 cpu r task_cpu
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
LOCK2 flags
HALF_LOCKED2 &(rdp->mynode)->lock
HALF_LOCKED2 &rnp->lock

kernel/sched/build_policy.c sched_core_idle_cpu() -> idle_cpu()

Type Parameter Key Value
PARAM_VALUE 0 cpu 0
DATA_SOURCE 0 cpu $0
LOCK2 irq

arch/x86/kernel/kvm.c kvm_smp_send_call_func_ipi() -> idle_cpu()

Type Parameter Key Value
PARAM_VALUE 0 cpu 0-64
CAPPED_DATA 0 cpu 1
DATA_SOURCE 0 cpu r find_next_bit
CONSTRAINT 0 cpu <3035
TASK_NOT_RUNNING
HALF_LOCKED2 _T->lock

kernel/sched/fair.c _nohz_idle_balance() -> idle_cpu()

Type Parameter Key Value
PARAM_VALUE 0 cpu 0-8192
CAPPED_DATA 0 cpu 1
CONSTRAINT 0 cpu <3035
PREEMPT_ADD

kernel/sched/fair.c _nohz_idle_balance() -> idle_cpu()

Type Parameter Key Value
PREEMPT_ADD

kernel/sched/fair.c find_new_ilb() -> idle_cpu()

Type Parameter Key Value
PARAM_VALUE 0 cpu 0-64
CAPPED_DATA 0 cpu 1
DATA_SOURCE 0 cpu r find_next_bit
CONSTRAINT 0 cpu <3035
RX_PATH
TASK_NOT_RUNNING

kernel/sched/fair.c is_core_idle() -> idle_cpu()

Type Parameter Key Value
PARAM_VALUE 0 cpu 0-64
CAPPED_DATA 0 cpu 1
DATA_SOURCE 0 cpu r find_next_bit
CONSTRAINT 0 cpu <3035
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &p->pi_lock
HALF_LOCKED2 rcu_read

kernel/sched/fair.c sched_balance_domains() -> idle_cpu()

Type Parameter Key Value
LOCK2 rcu_read

kernel/sched/fair.c should_we_balance() -> idle_cpu()

Type Parameter Key Value
PARAM_VALUE 0 cpu 0-8192
CAPPED_DATA 0 cpu 1
DATA_SOURCE 0 cpu r find_next_and_bit
CONSTRAINT 0 cpu <3035
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 busiest
HALF_LOCKED2 irq
HALF_LOCKED2 rcu_read

kernel/sched/fair.c task_numa_assign() -> idle_cpu()

Type Parameter Key Value
PARAM_VALUE 0 cpu 0-8192
CAPPED_DATA 0 cpu 1
CONSTRAINT 0 cpu <3035
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &mm->mmap_lock
HALF_LOCKED2 rcu_read

kernel/sched/fair.c task_numa_compare() -> idle_cpu()

Type Parameter Key Value
PARAM_VALUE 0 cpu 0-8192
CAPPED_DATA 0 cpu 1
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
LOCK2 rcu_read
HALF_LOCKED2 &mm->mmap_lock

kernel/sched/fair.c task_numa_compare() -> idle_cpu()

Type Parameter Key Value
PARAM_VALUE 0 cpu 0-s32max
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
LOCK2 rcu_read
HALF_LOCKED2 &mm->mmap_lock

kernel/sched/fair.c task_numa_compare() -> idle_cpu()

Type Parameter Key Value
PARAM_VALUE 0 cpu 0-s32max
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
LOCK2 rcu_read
HALF_LOCKED2 &mm->mmap_lock

kernel/sched/fair.c update_numa_stats() -> idle_cpu()

Type Parameter Key Value
PARAM_VALUE 0 cpu 0-64
CAPPED_DATA 0 cpu 1
DATA_SOURCE 0 cpu r find_next_bit
CONSTRAINT 0 cpu <3035
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
LOCK2 rcu_read
HALF_LOCKED2 &mm->mmap_lock

kernel/sched/fair.c update_sg_lb_stats() -> idle_cpu()

Type Parameter Key Value
PARAM_VALUE 0 cpu 0-8192
CAPPED_DATA 0 cpu 1
DATA_SOURCE 0 cpu r find_next_and_bit
CONSTRAINT 0 cpu <3035
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 busiest
HALF_LOCKED2 irq
HALF_LOCKED2 rcu_read

kernel/workqueue.c show_pool_no_running_worker() -> idle_cpu()

Type Parameter Key Value
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
UNITS 0 cpu unit_array_size
LOCK2 &pool->lock
LOCK2 irq_flags
LOCK2 rcu_read
TYPE_LOCK (struct worker_pool)->lock

drivers/tty/sysrq.c showacpu() -> idle_cpu()

Type Parameter Key Value
PARAM_VALUE 0 cpu 0
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 flags

kernel/sched/core.c get_nohz_timer_target() -> idle_cpu()

Type Parameter Key Value
PARAM_VALUE 0 cpu 0
DATA_SOURCE 0 cpu r debug_smp_processor_id
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
LOCK2 &timer->base->cpu_base->lock
HALF_LOCKED2 flags
HALF_LOCKED2 irq
TYPE_LOCK (struct hrtimer_cpu_base)->lock

kernel/sched/core.c get_nohz_timer_target() -> idle_cpu()

Type Parameter Key Value
PARAM_VALUE 0 cpu 1-8192
CAPPED_DATA 0 cpu 1
DATA_SOURCE 0 cpu r find_next_and_bit
CONSTRAINT 0 cpu <3035
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
LOCK2 &timer->base->cpu_base->lock
LOCK2 rcu_read
HALF_LOCKED2 flags
HALF_LOCKED2 irq
TYPE_LOCK (struct hrtimer_cpu_base)->lock

kernel/sched/core.c nohz_csd_func() -> idle_cpu()

Type Parameter Key Value

kernel/sched/core.c sched_tick() -> idle_cpu()

Type Parameter Key Value
PARAM_VALUE 0 cpu 0
DATA_SOURCE 0 cpu r debug_smp_processor_id
RX_PATH
TASK_NOT_RUNNING