Merge tag 'for-rc-adfs' of git://git.armlinux.org.uk/~rmk/linux-arm
[platform/kernel/linux-starfive.git] / Documentation / admin-guide / pm / intel_epb.rst
1 .. SPDX-License-Identifier: GPL-2.0
2 .. include:: <isonum.txt>
3
4 ======================================
5 Intel Performance and Energy Bias Hint
6 ======================================
7
8 :Copyright: |copy| 2019 Intel Corporation
9
10 :Author: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
11
12
13 .. kernel-doc:: arch/x86/kernel/cpu/intel_epb.c
14    :doc: overview
15
16 Intel Performance and Energy Bias Attribute in ``sysfs``
17 ========================================================
18
19 The Intel Performance and Energy Bias Hint (EPB) value for a given (logical) CPU
20 can be checked or updated through a ``sysfs`` attribute (file) under
21 :file:`/sys/devices/system/cpu/cpu<N>/power/`, where the CPU number ``<N>``
22 is allocated at the system initialization time:
23
24 ``energy_perf_bias``
25         Shows the current EPB value for the CPU in a sliding scale 0 - 15, where
26         a value of 0 corresponds to a hint preference for highest performance
27         and a value of 15 corresponds to the maximum energy savings.
28
29         In order to update the EPB value for the CPU, this attribute can be
30         written to, either with a number in the 0 - 15 sliding scale above, or
31         with one of the strings: "performance", "balance-performance", "normal",
32         "balance-power", "power" that represent values reflected by their
33         meaning.
34
35         This attribute is present for all online CPUs supporting the EPB
36         feature.
37
38 Note that while the EPB interface to the processor is defined at the logical CPU
39 level, the physical register backing it may be shared by multiple CPUs (for
40 example, SMT siblings or cores in one package).  For this reason, updating the
41 EPB value for one CPU may cause the EPB values for other CPUs to change.