Lines Matching +full:performance +full:- +full:domains
1 .. SPDX-License-Identifier: GPL-2.0
8 -----------
11 the power consumed by devices at various performance levels, and the kernel
12 subsystems willing to use that information to make energy-aware decisions.
18 each and every client subsystem to re-implement support for each and every
23 The power values might be expressed in milli-Watts or in an 'abstract scale'.
26 can be found in the Energy-Aware Scheduler documentation
27 Documentation/scheduler/sched-energy.rst. For some subsystems like thermal or
30 thus the real milli-Watts might be needed. An example of these requirements can
32 Documentation/driver-api/thermal/power_allocator.rst.
36 an 'abstract scale' deriving real energy in milli-Joules would not be possible.
38 The figure below depicts an example of drivers (Arm-specific here, but the
42 +---------------+ +-----------------+ +---------------+
44 +---------------+ +-----------------+ +---------------+
47 +---------+ | +---------+
50 +---------------------+
53 +---------------------+
56 +----------+ | +---------+
58 +---------------+ +---------------+ +--------------+
59 | cpufreq-dt | | arm_scmi | | Other |
60 +---------------+ +---------------+ +--------------+
63 +--------------+ +---------------+ +--------------+
65 +--------------+ +---------------+ +--------------+
68 'performance domain' in the system. A performance domain is a group of CPUs
69 whose performance is scaled together. Performance domains generally have a
70 1-to-1 mapping with CPUFreq policies. All CPUs in a performance domain are
71 required to have the same micro-architecture. CPUs in different performance
72 domains can have different micro-architectures.
76 ------------
84 2.2 Registration of performance domains
87 Drivers are expected to register performance domains into the EM framework by
94 for each performance state. The callback function provided by the driver is free
97 performance domains using cpumask. For other devices than CPUs the last
107 2.3 Accessing performance domains
114 performance domain.
118 the performance domains, and kept in memory untouched.
120 The energy consumed by a performance domain can be estimated using the
131 .. kernel-doc:: include/linux/energy_model.h
134 .. kernel-doc:: kernel/power/energy_model.c
139 -----------------
142 performance domain in the Energy Model framework using the (fake) 'foo'
146 -> drivers/cpufreq/foo_cpufreq.c
176 29 cpu_dev = get_cpu_device(cpumask_first(policy->cpus));
186 39 /* And register the new performance domain */
187 40 em_dev_register_perf_domain(cpu_dev, nr_opp, &em_cb, policy->cpus,