Defined in 1 files as a prototype:
Defined in 5 files as a macro:
- arch/arm/include/asm/topology.h, line 20 (as a macro)
- arch/arm64/include/asm/topology.h, line 30 (as a macro)
- arch/riscv/include/asm/topology.h, line 19 (as a macro)
- arch/s390/include/asm/smp.h, line 33 (as a macro)
- arch/x86/include/asm/topology.h, line 318 (as a macro)
Defined in 2 files as a function:
- arch/x86/kernel/cpu/aperfmperf.c, line 428 (as a function)
- include/linux/sched/topology.h, line 249 (as a function)
Referenced in 21 files:
- arch/x86/kernel/cpu/aperfmperf.c, line 435
- drivers/base/arch_topology.c, line 188
- drivers/cpufreq/cppc_cpufreq.c
- drivers/cpufreq/cpufreq.c, line 2605
- drivers/cpufreq/intel_pstate.c, line 1037
- drivers/powercap/dtpm_cpu.c, line 80
- drivers/thermal/cpufreq_cooling.c, line 165
- include/linux/sched/topology.h, line 237
- kernel/power/energy_model.c
- kernel/sched/core.c
- kernel/sched/cpudeadline.c, line 135
- kernel/sched/cpufreq_schedutil.c
- kernel/sched/deadline.c
- kernel/sched/ext/ext.c
- kernel/sched/fair.c
- kernel/sched/pelt.c, line 441
- kernel/sched/pelt.h, line 123
- kernel/sched/rt.c, line 468
- kernel/sched/sched.h, line 3627
- kernel/sched/topology.c, line 1720
- kernel/time/timer_migration.c, line 1483
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 |