Home
last modified time | relevance | path

Searched +full:cpu +full:- +full:capacity (Results 1 – 25 of 172) sorted by relevance

1234567

/linux/Documentation/scheduler/
H A Dsched-capacity.rst2 Capacity Aware Scheduling
5 1. CPU Capacity
9 ----------------
13 different performance characteristics - on such platforms, not all CPUs can be
16 CPU capacity is a measure of the performance a CPU can reach, normalized against
17 the most performant CPU in the system. Heterogeneous systems are also called
18 asymmetric CPU capacity systems, as they contain CPUs of different capacities.
20 Disparity in maximum attainable performance (IOW in maximum CPU capacity) stems
23 - not all CPUs may have the same microarchitecture (µarch).
24 - with Dynamic Voltage and Frequency Scaling (DVFS), not all CPUs may be
[all …]
H A Dsched-energy.rst6 ---------------
10 Energy Model (EM) of the CPUs to select an energy efficient CPU for each task,
17 /!\ EAS does not support platforms with symmetric CPU topologies /!\
19 EAS operates only on heterogeneous CPU topologies (such as Arm big.LITTLE)
25 please refer to its documentation (see Documentation/power/energy-model.rst).
29 -----------------------------
32 - energy = [joule] (resource like a battery on powered devices)
33 - power = energy/time = [joule/second] = [watt]
39 --------------------
45 -----------
[all …]
H A Dschedutil.rst7 All this assumes a linear relation between frequency and work capacity,
15 individual tasks to task-group slices to CPU runqueues. As the basis for this
31 Note that blocked tasks still contribute to the aggregates (task-group slices
32 and CPU runqueues), which reflects their expected contribution when they
36 reflects the time an entity spends on the CPU, while 'runnable' reflects the
38 two metrics are the same, but once there is contention for the CPU 'running'
39 will decrease to reflect the fraction of time each task spends on the CPU
45 Frequency / CPU Invariance
48 Because consuming the CPU for 50% at 1GHz is not the same as consuming the CPU
49 for 50% at 2GHz, nor is running 50% on a LITTLE CPU the same as running 50% on
[all …]
/linux/Documentation/devicetree/bindings/cpu/
H A Dcpu-capacity.txt2 CPU capacity bindings
6 1 - Introduction
15 2 - CPU capacity definition
18 CPU capacity is a number that provides the scheduler information about CPUs
19 heterogeneity. Such heterogeneity can come from micro-architectural differences
23 capture a first-order approximation of the relative performance of CPUs.
25 CPU capacities are obtained by running a suitable benchmark. This binding makes
27 final capacity should, however, be:
29 * A "single-threaded" or CPU affine benchmark
30 * Divided by the running frequency of the CPU executing the benchmark
[all …]
/linux/arch/arm/kernel/
H A Dtopology.c15 #include <linux/cpu.h>
29 #include <asm/cpu.h>
34 * cpu capacity scale management
38 * cpu capacity table
39 * This per cpu data structure describes the relative capacity of each core.
40 * On a heteregenous system, cores don't have the same computation capacity
42 * can take this difference into account during load balance. A per cpu
43 * structure is preferred because each CPU updates its own cpu_capacity field
61 * is used to compute the capacity of a CPU.
66 {"arm,cortex-a15", 3891},
[all …]
/linux/Documentation/translations/zh_CN/scheduler/
H A Dsched-capacity.rst1 .. SPDX-License-Identifier: GPL-2.0
2 .. include:: ../disclaimer-zh_CN.rst
4 :Original: Documentation/scheduler/sched-capacity.rst
22 --------
27 我们引入CPU算力(capacity)的概念来测量每个CPU能达到的性能,它的值相对系统中性能最强的CPU
32 - 不是所有CPU的微架构都相同。
33 - 在动态电压频率升降(Dynamic Voltage and Frequency Scaling,DVFS)框架中,不是所有的CPU都
34 能达到一样高的操作性能值(Operating Performance Points,OPP。译注,也就是“频率-电压”对)。
42 capacity(cpu) = work_per_hz(cpu) * max_freq(cpu)
45 --------------
[all …]
/linux/drivers/base/
H A Darch_topology.c1 // SPDX-License-Identifier: GPL-2.0
3 * Arch specific cpu topology information
12 #include <linux/cpu.h>
74 int cpu; in topology_set_scale_freq_source() local
85 for_each_cpu(cpu, cpus) { in topology_set_scale_freq_source()
86 sfd = rcu_dereference(*per_cpu_ptr(&sft_data, cpu)); in topology_set_scale_freq_source()
89 if (!sfd || sfd->source != SCALE_FREQ_SOURCE_ARCH) { in topology_set_scale_freq_source()
90 rcu_assign_pointer(per_cpu(sft_data, cpu), data); in topology_set_scale_freq_source()
91 cpumask_set_cpu(cpu, &scale_freq_counters_mask); in topology_set_scale_freq_source()
105 int cpu; in topology_clear_scale_freq_source() local
[all …]
H A Dtopology.c1 // SPDX-License-Identifier: GPL-2.0+
3 * driver/base/topology.c - Populate sysfs with cpu topology information
12 #include <linux/cpu.h>
21 return sysfs_emit(buf, fmt "\n", topology_##name(dev->id)); \
34 return -ENOMEM; \
36 cpumask_copy(mask, topology_##mask(dev->id)); \
52 return -ENOMEM; \
54 cpumask_copy(mask, topology_##mask(dev->id)); \
174 if (attr == &dev_attr_ppin.attr && !topology_ppin(kobj_to_dev(kobj)->id)) in topology_is_visible()
177 return attr->mode; in topology_is_visible()
[all …]
/linux/arch/arm/boot/dts/samsung/
H A Dexynos5422-cpus.dtsi1 // SPDX-License-Identifier: GPL-2.0
3 * Samsung Exynos5422 SoC cpu device tree source
8 * This file provides desired ordering for Exynos5422: CPU[0123] being the A7.
10 * The Exynos5420, 5422 and 5800 actually share the same CPU configuration
13 * Exynos5420 and Exynos5800 always boot from Cortex-A15. On Exynos5422
15 * the gpg2-1 GPIO. By default all Exynos5422 based boards choose booting
16 * from the LITTLE: Cortex-A7.
21 #address-cells = <1>;
22 #size-cells = <0>;
24 cpu-map {
[all …]
H A Dexynos5420-cpus.dtsi1 // SPDX-License-Identifier: GPL-2.0
3 * Samsung Exynos5420 SoC cpu device tree source
9 * boards: CPU[0123] being the A15.
11 * The Exynos5420, 5422 and 5800 actually share the same CPU configuration
14 * Exynos5420 and Exynos5800 always boot from Cortex-A15. On Exynos5422
16 * the gpg2-1 GPIO. By default all Exynos5422 based boards choose booting
17 * from the LITTLE: Cortex-A7.
22 #address-cells = <1>;
23 #size-cells = <0>;
25 cpu-map {
[all …]
/linux/arch/x86/kernel/cpu/
H A Daperfmperf.c1 // SPDX-License-Identifier: GPL-2.0-only
20 #include <asm/cpu.h>
22 #include <asm/intel-family.h>
25 #include "cpu.h"
59 * Since the frequency freq_curr on x86 is controlled by micro-controller and
60 * our P-state setting is little more than a request/hint, we need to observe
66 * where freq_base is the max non-turbo P-state.
179 fratio -= delta_fratio; in knl_set_max_freq_ratio()
235 /* The CPU may have less than 4 cores */ in core_set_max_freq_ratio()
275 …pr_debug("Couldn't determine cpu base or turbo frequency, necessary for scale-invariant accounting… in intel_set_max_freq_ratio()
[all …]
/linux/arch/arm64/boot/dts/apple/
H A Dt600x-common.dtsi1 // SPDX-License-Identifier: GPL-2.0+ OR MIT
11 #address-cells = <2>;
12 #size-cells = <2>;
19 #address-cells = <2>;
20 #size-cells = <0>;
22 cpu-map {
25 cpu = <&cpu_e00>;
28 cpu = <&cpu_e01>;
34 cpu = <&cpu_p00>;
37 cpu = <&cpu_p01>;
[all …]
/linux/arch/arm64/boot/dts/arm/
H A Djuno-r2.dts9 /dts-v1/;
11 #include <dt-bindings/interrupt-controller/arm-gic.h>
12 #include <dt-bindings/arm/coresight-cti-dt.h>
13 #include "juno-base.dtsi"
14 #include "juno-cs-r1r2.dtsi"
18 compatible = "arm,juno-r2", "arm,juno", "arm,vexpress";
19 interrupt-parent = <&gic>;
20 #address-cells = <2>;
21 #size-cells = <2>;
28 stdout-path = "serial0:115200n8";
[all …]
H A Djuno.dts4 * Copyright (c) 2013-2014 ARM Ltd.
9 /dts-v1/;
11 #include <dt-bindings/interrupt-controller/arm-gic.h>
12 #include <dt-bindings/arm/coresight-cti-dt.h>
13 #include "juno-base.dtsi"
18 interrupt-parent = <&gic>;
19 #address-cells = <2>;
20 #size-cells = <2>;
27 stdout-path = "serial0:115200n8";
31 compatible = "arm,psci-0.2";
[all …]
H A Djuno-r1.dts9 /dts-v1/;
11 #include <dt-bindings/interrupt-controller/arm-gic.h>
12 #include <dt-bindings/arm/coresight-cti-dt.h>
13 #include "juno-base.dtsi"
14 #include "juno-cs-r1r2.dtsi"
18 compatible = "arm,juno-r1", "arm,juno", "arm,vexpress";
19 interrupt-parent = <&gic>;
20 #address-cells = <2>;
21 #size-cells = <2>;
28 stdout-path = "serial0:115200n8";
[all …]
/linux/lib/
H A Dobjpool.c1 // SPDX-License-Identifier: GPL-2.0
12 * objpool: ring-array based lockless MPMC/FIFO queues
24 void *obj = (void *)&slot->entries[pool->capacity]; in objpool_init_percpu_slot()
28 slot->mask = pool->capacity - 1; in objpool_init_percpu_slot()
36 slot->entries[slot->tail & slot->mask] = obj; in objpool_init_percpu_slot()
37 obj = obj + pool->obj_size; in objpool_init_percpu_slot()
38 slot->tail++; in objpool_init_percpu_slot()
39 slot->last = slot->tail; in objpool_init_percpu_slot()
40 pool->nr_objs++; in objpool_init_percpu_slot()
58 /* skip the cpu node which could never be present */ in objpool_init_percpu_slots()
[all …]
/linux/arch/arm64/boot/dts/cix/
H A Dsky1.dtsi1 // SPDX-License-Identifier: BSD-3-Clause
7 #include <dt-bindings/interrupt-controller/arm-gic.h>
8 #include <dt-bindings/clock/cix,sky1.h>
9 #include <dt-bindings/clock/cix,sky1-audss-cru.h>
10 #include <dt-bindings/reset/cix,sky1-system-control.h>
11 #include <dt-bindings/reset/cix,sky1-s5-system-control.h>
12 #include <dt-bindings/reset/cix,sky1-audss-cru.h>
13 #include "sky1-power.h"
16 interrupt-parent = <&gic>;
17 #address-cells = <2>;
[all …]
/linux/Documentation/devicetree/bindings/riscv/
H A Dcpus.yaml1 # SPDX-License-Identifier: (GPL-2.0 OR MIT)
3 ---
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
7 title: RISC-V CPUs
10 - Paul Walmsley <paul.walmsley@sifive.com>
11 - Palmer Dabbelt <palmer@sifive.com>
12 - Conor Dooley <conor@kernel.org>
15 This document uses some terminology common to the RISC-V community
19 mandated by the RISC-V ISA: a PC and some registers. This
27 - $ref: /schemas/cpu.yaml#
[all …]
/linux/drivers/cpufreq/
H A Dintel_pstate.c1 // SPDX-License-Identifier: GPL-2.0-only
21 #include <linux/cpu.h>
33 #include <asm/cpu.h>
38 #include <asm/intel-family.h>
56 #define ONE_EIGHTH_FP ((int64_t)1 << (FRAC_BITS - 3))
78 mask = (1 << FRAC_BITS) - 1; in ceiling_fp()
95 * struct sample - Store performance sample
100 * to account for cpu idle period
122 * struct pstate_data - Store P state data
129 * @perf_ctl_scaling: PERF_CTL P-state to frequency scaling factor
[all …]
/linux/kernel/sched/
H A Dtopology.c1 // SPDX-License-Identifier: GPL-2.0
46 static int sched_domain_debug_one(struct sched_domain *sd, int cpu, int level, in sched_domain_debug_one() argument
49 struct sched_group *group = sd->groups; in sched_domain_debug_one()
50 unsigned long flags = sd->flags; in sched_domain_debug_one()
55 printk(KERN_DEBUG "%*s domain-%d: ", level, "", level); in sched_domain_debug_one()
57 cpumask_pr_args(sched_domain_span(sd)), sd->name); in sched_domain_debug_one()
59 if (!cpumask_test_cpu(cpu, sched_domain_span(sd))) { in sched_domain_debug_one()
60 printk(KERN_ERR "ERROR: domain->spa in sched_domain_debug_one()
142 sched_domain_debug(struct sched_domain * sd,int cpu) sched_domain_debug() argument
333 find_pd(struct perf_domain * pd,int cpu) find_pd() argument
344 pd_init(int cpu) pd_init() argument
415 int cpu = cpumask_first(cpu_map); build_perf_domains() local
688 update_top_cache_domain(int cpu) update_top_cache_domain() argument
746 cpu_attach_domain(struct sched_domain * sd,struct root_domain * rd,int cpu) cpu_attach_domain() argument
874 get_effective_llc_bytes(int cpu,struct sched_domain * sd) get_effective_llc_bytes() argument
999 sched_update_llc_bytes(unsigned int cpu) sched_update_llc_bytes() argument
1239 build_group_from_child_sched_domain(struct sched_domain * sd,int cpu) build_group_from_child_sched_domain() argument
1268 int cpu; init_overlap_sched_group() local
1316 build_overlap_sched_groups(struct sched_domain * sd,int cpu) build_overlap_sched_groups() argument
1481 get_group(int cpu,struct sd_data * sdd) get_group() argument
1527 build_sched_groups(struct sched_domain * sd,int cpu) build_sched_groups() argument
1572 init_sched_groups_capacity(int cpu,struct sched_domain * sd) init_sched_groups_capacity() argument
1580 int cpu, cores = 0, max_cpu = -1; init_sched_groups_capacity() local
1613 sched_update_asym_prefer_cpu(int cpu,int old_prio,int new_prio) sched_update_asym_prefer_cpu() argument
1718 asym_cpu_capacity_update_data(int cpu) asym_cpu_capacity_update_data() argument
1720 unsigned long capacity = arch_scale_cpu_capacity(cpu); asym_cpu_capacity_update_data() local
1757 int cpu; asym_cpu_capacity_scan() local
1870 claim_allocations(int cpu,struct s_data * d) claim_allocations() argument
1935 sd_init(struct sched_domain_topology_level * tl,const struct cpumask * cpu_map,struct sched_domain * child,int cpu) sd_init() argument
2033 tl_smt_mask(struct sched_domain_topology_level * tl,int cpu) tl_smt_mask() argument
2045 tl_cls_mask(struct sched_domain_topology_level * tl,int cpu) tl_cls_mask() argument
2057 tl_mc_mask(struct sched_domain_topology_level * tl,int cpu) tl_mc_mask() argument
2068 arch_llc_mask(cpu) global() argument
2072 arch_llc_mask(cpu) global() argument
2075 llc_mask(cpu) global() argument
2077 tl_pkg_mask(struct sched_domain_topology_level * tl,int cpu) tl_pkg_mask() argument
2123 sd_numa_mask(struct sched_domain_topology_level * tl,int cpu) sd_numa_mask() argument
2475 sched_update_numa(int cpu,bool online) sched_update_numa() argument
2491 sched_domains_numa_masks_set(unsigned int cpu) sched_domains_numa_masks_set() argument
2509 sched_domains_numa_masks_clear(unsigned int cpu) sched_domains_numa_masks_clear() argument
2529 sched_numa_find_closest(const struct cpumask * cpus,int cpu) sched_numa_find_closest() argument
2557 int cpu; global() member
2592 sched_numa_find_nth_cpu(const struct cpumask * cpus,int cpu,int node) sched_numa_find_nth_cpu() argument
2784 build_sched_domain(struct sched_domain_topology_level * tl,const struct cpumask * cpu_map,struct sched_domain_attr * attr,struct sched_domain * child,int cpu) build_sched_domain() argument
2818 int cpu; topology_span_sane() local
2939 int cpu; init_sched_domain_shared() local
2998 claim_asym_sched_domain_shared(struct s_data * d,int cpu) claim_asym_sched_domain_shared() argument
3039 __sched_domains_free_llc_id(int cpu) __sched_domains_free_llc_id() argument
3065 sched_domains_free_llc_id(int cpu) sched_domains_free_llc_id() argument
3312 unsigned int cpu = cpumask_any(cpu_map); detach_destroy_domains() local
3439 int cpu = cpumask_first(doms_cur[j]); partition_sched_domains_locked() local
[all...]
H A Dfair.c1 // SPDX-License-Identifier: GPL-2.0
47 #include <linux/memory-tiers.h>
65 * The initial- and re-scaling of tunables is configurable
69 * SCHED_TUNABLESCALING_NONE - unscaled, always *1
70 * SCHED_TUNABLESCALING_LOG - scaled logarithmically, *1+ilog(ncpus)
71 * SCHED_TUNABLESCALING_LINEAR - scaled linear, *ncpus
98 * For asym packing, by default the lower numbered CPU ha
100 arch_asym_cpu_priority(int cpu) arch_asym_cpu_priority() argument
326 int cpu = cpu_of(rq); list_add_leaf_cfs_rq() local
1460 llc_id(int cpu) llc_id() argument
1481 exceed_llc_capacity(struct mm_struct * mm,int cpu) exceed_llc_capacity() argument
1530 invalid_llc_nr(struct mm_struct * mm,struct task_struct * p,int cpu) invalid_llc_nr() argument
1814 int cpu, curr_cpu, nid, pref_nid; get_scan_cpumasks() local
1876 int cpu, m_a_cpu = -1, nr_running = 0, curr_cpu; task_cache_work() local
2213 is_core_idle(int cpu) is_core_idle() argument
2908 numa_idle_core(int idle_core,int cpu) numa_idle_core() argument
2934 int cpu, idle_core = -1; update_numa_stats() local
2977 int cpu; task_numa_assign() local
3205 int cpu = env->dst_stats.idle_cpu; task_numa_compare() local
3251 int cpu; task_numa_find_cpu() local
3849 int cpu = cpupid_to_cpu(cpupid); task_numa_group() local
6003 get_actual_cpu_capacity(int cpu) get_actual_cpu_capacity() argument
6005 unsigned long capacity = arch_scale_cpu_capacity(cpu); get_actual_cpu_capacity() local
6015 util_fits_cpu(unsigned long util,unsigned long uclamp_min,unsigned long uclamp_max,int cpu) util_fits_cpu() argument
6017 unsigned long capacity = capacity_of(cpu); util_fits_cpu() local
6131 task_fits_cpu(struct task_struct * p,int cpu) task_fits_cpu() argument
6145 int cpu = cpu_of(rq); update_misfit_status() local
7450 sync_throttle(struct task_group * tg,int cpu) sync_throttle() argument
7706 int cpu = cpu_of(rq); sched_fair_update_stop_tick() local
7732 sync_throttle(struct task_group * tg,int cpu) sync_throttle() argument
7851 cpu_overutilized(int cpu) cpu_overutilized() argument
7904 choose_idle_cpu(int cpu,struct task_struct * p) choose_idle_cpu() argument
8293 capacity_of(int cpu) capacity_of() argument
8515 sched_balance_find_dst_cpu(struct sched_domain * sd,struct task_struct * p,int cpu,int prev_cpu,int sd_flag) sched_balance_find_dst_cpu() argument
8567 __select_idle_cpu(int cpu,struct task_struct * p) __select_idle_cpu() argument
8578 set_idle_cores(int cpu,int val) set_idle_cores() argument
8587 test_idle_cores(int cpu) test_idle_cores() argument
8608 int cpu; __update_idle_core() local
8636 int cpu; select_idle_core() local
8667 int cpu; select_idle_smt() local
8693 int i, cpu, idle_cpu = -1, nr = INT_MAX; select_idle_cpu() local
8823 int cpu, best_cpu = -1; select_idle_capacity() local
8932 asym_fits_cpu(unsigned long util,unsigned long util_min,unsigned long util_max,int cpu) asym_fits_cpu() argument
9126 cpu_util(int cpu,struct task_struct * p,int dst_cpu,int boost) cpu_util() argument
9197 cpu_util_cfs(int cpu) cpu_util_cfs() argument
9202 cpu_util_cfs_boost(int cpu) cpu_util_cfs_boost() argument
9220 cpu_util_without(int cpu,struct task_struct * p) cpu_util_without() argument
9249 effective_cpu_util(int cpu,unsigned long util_cfs,unsigned long * min,unsigned long * max) effective_cpu_util() argument
9323 sched_cpu_util(int cpu) sched_cpu_util() argument
9390 int cpu; eenv_pd_busy_time() local
9413 int cpu; eenv_pd_max_util() local
9519 int cpu, best_energy_cpu, target = -1; find_energy_efficient_cpu() local
9705 int cpu = smp_processor_id(); select_task_rq_fair() local
10583 get_llc_stats(int cpu,unsigned long * util,unsigned long * cap) get_llc_stats() argument
10729 int cpu, src_cpu, dst_cpu; can_migrate_llc_task() local
10855 get_llc_stats(int cpu,unsigned long * util,unsigned long * cap) get_llc_stats() argument
10918 int cpu; can_migrate_task() local
11406 sched_balance_update_blocked_averages(int cpu) sched_balance_update_blocked_averages() argument
11481 scale_rt_capacity(int cpu) scale_rt_capacity() argument
11508 update_cpu_capacity(struct sched_domain * sd,int cpu) update_cpu_capacity() argument
11510 unsigned long capacity = scale_rt_capacity(cpu); update_cpu_capacity() local
11524 update_group_capacity(struct sched_domain * sd,int cpu) update_group_capacity() argument
11528 unsigned long capacity, min_capacity, max_capacity; update_group_capacity() local
11732 sched_use_asym_prio(struct sched_domain * sd,int cpu) sched_use_asym_prio() argument
11868 int cpu; record_sg_llc_stats() local
12293 task_running_on_cpu(int cpu,struct task_struct * p) task_running_on_cpu() argument
12312 idle_cpu_without(int cpu,struct task_struct * p) idle_cpu_without() argument
13128 unsigned long capacity, load, util; sched_balance_find_src_rq() local
13370 int cpu, idle_smt = -1; should_we_balance() local
13977 int cpu = rq->cpu; sched_balance_domains() local
14165 int nr_busy, i, cpu = rq->cpu; nohz_balancer_kick() local
14277 set_cpu_sd_state_busy(int cpu) set_cpu_sd_state_busy() argument
14306 set_cpu_sd_state_idle(int cpu) set_cpu_sd_state_idle() argument
14323 nohz_balance_enter_idle(int cpu) nohz_balance_enter_idle() argument
14377 unsigned int cpu = rq->cpu; update_nohz_stats() local
14533 nohz_run_idle_balance(int cpu) nohz_run_idle_balance() argument
15048 task_is_throttled_fair(struct task_struct * p,int cpu) task_is_throttled_fair() argument
15397 int cpu; unregister_fair_sched_group() local
15421 init_tg_cfs_entry(struct task_group * tg,struct cfs_rq * cfs_rq,struct sched_entity * se,int cpu,struct sched_entity * parent) init_tg_cfs_entry() argument
15633 print_cfs_stats(struct seq_file * m,int cpu) print_cfs_stats() argument
[all...]
/linux/Documentation/devicetree/bindings/opp/
H A Dopp-v2-kryo-cpu.yaml1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
3 ---
4 $id: http://devicetree.org/schemas/opp/opp-v2-kryo-cpu.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
10 - Ilia Lin <ilia.lin@kernel.org>
13 - $ref: opp-v2-base.yaml#
17 the CPU frequencies subset and voltage value of each OPP varies based on
22 The qcom-cpufreq-nvmem driver reads the efuse value from the SoC to provide
25 operating-points-v2 table when it is parsed by the OPP framework.
30 - operating-points-v2-krait-cpu
[all …]
/linux/arch/powerpc/platforms/pseries/
H A Dlparcfg.c1 // SPDX-License-Identifier: GPL-2.0-or-later
14 * keyword - value pairs that specify the configuration of the partition.
22 #include <asm/papr-sysparm.h>
96 * R4 = Entitled Processor Capacity Percentage.
97 * R5 = Unallocated Processor Capacity Percentage.
99 * XXXX - reserved (0)
100 * XXXX - Active Cores in Resource Group
101 * XXXX - Group Number
102 * XXXX - Pool Number.
104 * XX - Resource group Number
[all …]
/linux/kernel/power/
H A Denergy_model.c1 // SPDX-License-Identifier: GPL-2.0
5 * Copyright (c) 2018-2021, Arm ltd.
12 #include <linux/cpu.h>
46 return (dev->bus == &cpu_subsys); in _is_cpu_device()
60 struct em_dbg_info *em_dbg = s->private; \
65 table = em_perf_state_from_pd(em_dbg->pd); \
66 val = table[em_dbg->ps_id].name; \
99 /* Create per-ps directory */ in em_debug_create_ps()
115 seq_printf(s, "%*pbl\n", cpumask_pr_args(to_cpumask(s->private))); in em_debug_cpus_show()
123 struct em_perf_domain *pd = s->private; in em_debug_flags_show()
[all …]
/linux/Documentation/admin-guide/pm/
H A Dintel_pstate.rst1 .. SPDX-License-Identifier: GPL-2.0
5 ``intel_pstate`` CPU Performance Scaling Driver
17 :doc:`CPU performance scaling subsystem <cpufreq>` in the Linux kernel
22 Documentation/admin-guide/pm/cpufreq.rst if you have not done that yet.]
24 For the processors supported by ``intel_pstate``, the P-state concept is broader
27 information about that). For this reason, the representation of P-states used
32 ``intel_pstate`` maps its internal representation of P-states to frequencies too
38 Since the hardware P-state selection interface used by ``intel_pstate`` is
39 available at the logical CPU level, the driver always works with individual
41 object corresponds to one logical CPU and ``CPUFreq`` policies are effectively
[all …]

1234567