Defined in 1 files as a prototype:

Defined in 5 files as a macro:

Defined in 2 files as a function:

Referenced in 21 files:

Smatch caller information:

drivers/thermal/cpufreq_cooling.c get_load() -> arch_scale_cpu_capacity()

Type Parameter Key Value
PARAM_VALUE 0 cpu 0-64
CAPPED_DATA 0 cpu 1
DATA_SOURCE 0 cpu $1
CONSTRAINT 0 cpu <3035
RX_PATH
TASK_NOT_RUNNING
LOCK2 &tz->lock
HALF_LOCKED2 &cdev->lock
HALF_LOCKED2 &of->mutex
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 _T->lock
TYPE_LOCK (struct thermal_zone_device)->lock

drivers/powercap/dtpm_cpu.c scale_pd_power_uw() -> arch_scale_cpu_capacity()

Type Parameter Key Value
PARAM_VALUE 0 cpu 0-64
CAPPED_DATA 0 cpu 1
RX_PATH
TASK_NOT_RUNNING
LOCK2 rcu_read
HALF_LOCKED2 &of->mutex

kernel/power/energy_model.c em_adjust_new_capacity() -> arch_scale_cpu_capacity()

Type Parameter Key Value
PARAM_VALUE 0 cpu 0-8192
CAPPED_DATA 0 cpu 1
DATA_SOURCE 0 cpu $0
RX_PATH
TASK_NOT_RUNNING

kernel/power/energy_model.c em_dev_register_pd_no_update() -> arch_scale_cpu_capacity()

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
LOCK2 global &em_pd_mutex

kernel/power/energy_model.c em_init_performance() -> arch_scale_cpu_capacity()

Type Parameter Key Value
PARAM_VALUE 0 cpu 0-64
CAPPED_DATA 0 cpu 1
DATA_SOURCE 0 cpu r cpumask_first
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 global &em_pd_mutex

kernel/sched/build_policy.c __dl_bw_capacity() -> arch_scale_cpu_capacity()

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
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 rcu_read

kernel/sched/build_policy.c cpudl_find() -> arch_scale_cpu_capacity()

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
HALF_LOCKED2 &p->pi_lock
HALF_LOCKED2 &p->sighand->siglock
HALF_LOCKED2 irq
HALF_LOCKED2 rcu_read

kernel/sched/build_policy.c dl_bw_capacity() -> arch_scale_cpu_capacity()

Type Parameter Key Value
DATA_SOURCE 0 cpu $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &dl_b->lock
HALF_LOCKED2 _T->lock
HALF_LOCKED2 flags
HALF_LOCKED2 rcu_read

kernel/sched/build_policy.c dl_bw_manage() -> arch_scale_cpu_capacity()

Type Parameter Key Value
DATA_SOURCE 0 cpu $1
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
LOCK2 &dl_b->lock
LOCK2 flags
LOCK2 rcu_read
HALF_LOCKED2 global &cpuhp_state_mutex
HALF_LOCKED2 irq
TYPE_LOCK (struct dl_bw)->lock

kernel/sched/build_policy.c dl_scaled_delta_exec() -> arch_scale_cpu_capacity()

Type Parameter Key Value
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 rq

kernel/sched/build_policy.c dl_task_fits_capacity() -> arch_scale_cpu_capacity()

Type Parameter Key Value
DATA_SOURCE 0 cpu $1
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &p->pi_lock
HALF_LOCKED2 &p->sighand->siglock
HALF_LOCKED2 irq
HALF_LOCKED2 rcu_read

kernel/sched/build_policy.c rt_task_fits_capacity() -> arch_scale_cpu_capacity()

Type Parameter Key Value
DATA_SOURCE 0 cpu $1
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &p->pi_lock
HALF_LOCKED2 &p->sighand->siglock
HALF_LOCKED2 rcu_read

kernel/sched/build_policy.c update_irq_load_avg() -> arch_scale_cpu_capacity()

Type Parameter Key Value
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 _T->lock
HALF_LOCKED2 irq

drivers/cpufreq/cpufreq.c cpufreq_update_pressure() -> arch_scale_cpu_capacity()

Type Parameter Key Value
PARAM_VALUE 0 cpu 0-64
CAPPED_DATA 0 cpu 1
DATA_SOURCE 0 cpu r cpumask_first
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &of->mutex
HALF_LOCKED2 &policy->rwsem

drivers/cpufreq/intel_pstate.c hybrid_set_cpu_capacity() -> arch_scale_cpu_capacity()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &policy->rwsem
HALF_LOCKED2 global &hybrid_capacity_lock

kernel/sched/build_utility.c asym_cpu_capacity_update_data() -> arch_scale_cpu_capacity()

Type Parameter Key Value
PARAM_VALUE 0 cpu 0-8192
CAPPED_DATA 0 cpu 1
DATA_SOURCE 0 cpu $0
CONSTRAINT 0 cpu <3035
RX_PATH
TASK_NOT_RUNNING
LOCK2 global &sched_domains_mutex

kernel/sched/build_utility.c sugov_next_freq_shared() -> arch_scale_cpu_capacity()

Type Parameter Key Value
PARAM_VALUE 0 cpu 0-64
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
LOCK2 &sg_policy->update_lock
TYPE_LOCK (struct sugov_policy)->update_lock

kernel/sched/build_utility.c sugov_update_single_freq() -> arch_scale_cpu_capacity()

Type Parameter Key Value
PARAM_VALUE 0 cpu 0-64
RX_PATH
TASK_NOT_RUNNING

kernel/sched/build_utility.c sugov_update_single_perf() -> arch_scale_cpu_capacity()

Type Parameter Key Value
PARAM_VALUE 0 cpu 0-64
RX_PATH
TASK_NOT_RUNNING

kernel/sched/fair.c check_cpu_capacity() -> arch_scale_cpu_capacity()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING

kernel/sched/fair.c cpu_util() -> arch_scale_cpu_capacity()

Type Parameter Key Value
CAPPED_DATA 0 cpu 1
DATA_SOURCE 0 cpu $0
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &p->pi_lock

kernel/sched/fair.c eenv_task_busy_time() -> arch_scale_cpu_capacity()

Type Parameter Key Value
PARAM_VALUE 0 cpu 0-s32max
DATA_SOURCE 0 cpu $2
RX_PATH
TASK_NOT_RUNNING
LOCK2 &p->pi_lock
HALF_LOCKED2 &p->sighand->siglock
HALF_LOCKED2 irq
TYPE_LOCK (struct task_struct)->pi_lock

kernel/sched/fair.c effective_cpu_util() -> arch_scale_cpu_capacity()

Type Parameter Key Value
PARAM_VALUE 0 cpu 0-8192
CAPPED_DATA 0 cpu 1
DATA_SOURCE 0 cpu $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &p->pi_lock

kernel/sched/fair.c get_actual_cpu_capacity() -> arch_scale_cpu_capacity()

Type Parameter Key Value
DATA_SOURCE 0 cpu $0
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &p->pi_lock

kernel/sched/fair.c post_init_entity_util_avg() -> arch_scale_cpu_capacity()

Type Parameter Key Value
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
LOCK2 &p->pi_lock
LOCK2 rf.flags
TYPE_LOCK (struct task_struct)->pi_lock

kernel/sched/fair.c update_misfit_status() -> arch_scale_cpu_capacity()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 irq

kernel/sched/fair.c util_fits_cpu() -> arch_scale_cpu_capacity()

Type Parameter Key Value
DATA_SOURCE 0 cpu $3
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &p->pi_lock

kernel/sched/core.c cpus_equal_capacity() -> arch_scale_cpu_capacity()

Type Parameter Key Value
PARAM_VALUE 0 cpu 0
DATA_SOURCE 0 cpu $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &anv->lock
HALF_LOCKED2 &vq->lock
HALF_LOCKED2 flags

kernel/sched/core.c cpus_equal_capacity() -> arch_scale_cpu_capacity()

Type Parameter Key Value
PARAM_VALUE 0 cpu s32min-(-1),1-s32max
DATA_SOURCE 0 cpu $1
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &anv->lock
HALF_LOCKED2 &vq->lock
HALF_LOCKED2 flags

kernel/sched/core.c update_rq_clock_pelt() -> arch_scale_cpu_capacity()

Type Parameter Key Value
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &of->mutex
HALF_LOCKED2 &p->pi_lock
HALF_LOCKED2 _T->flags
HALF_LOCKED2 _T->lock
HALF_LOCKED2 _T->rf.flags
HALF_LOCKED2 busiest
HALF_LOCKED2 busiest_rq
HALF_LOCKED2 global &shares_mutex
HALF_LOCKED2 irq
HALF_LOCKED2 rcu_read
HALF_LOCKED2 rf.flags
HALF_LOCKED2 rq