1 What: /sys/devices/system/cpu/
3 Contact: Linux kernel mailing list <linux-kernel@vger.kernel.org>
5 A collection of both global and individual CPU attributes
7 Individual CPU attributes are contained in subdirectories
8 named by the kernel's logical CPU number, e.g.:
10 /sys/devices/system/cpu/cpu#/
12 What: /sys/devices/system/cpu/sched_mc_power_savings
13 /sys/devices/system/cpu/sched_smt_power_savings
15 Contact: Linux kernel mailing list <linux-kernel@vger.kernel.org>
16 Description: Discover and adjust the kernel's multi-core scheduler support.
20 0 - No power saving load balance (default value)
21 1 - Fill one thread/core/package first for long running threads
22 2 - Also bias task wakeups to semi-idle cpu package for power
25 sched_mc_power_savings is dependent upon SCHED_MC, which is
26 itself architecture dependent.
28 sched_smt_power_savings is dependent upon SCHED_SMT, which
29 is itself architecture dependent.
31 The two files are independent of each other. It is possible
32 that one file may be present without the other.
34 Introduced by git commit 5c45bf27.
37 What: /sys/devices/system/cpu/kernel_max
38 /sys/devices/system/cpu/offline
39 /sys/devices/system/cpu/online
40 /sys/devices/system/cpu/possible
41 /sys/devices/system/cpu/present
43 Contact: Linux kernel mailing list <linux-kernel@vger.kernel.org>
44 Description: CPU topology files that describe kernel limits related to
47 kernel_max: the maximum cpu index allowed by the kernel
50 offline: cpus that are not online because they have been
51 HOTPLUGGED off or exceed the limit of cpus allowed by the
52 kernel configuration (kernel_max above).
54 online: cpus that are online and being scheduled.
56 possible: cpus that have been allocated resources and can be
57 brought online if they are present.
59 present: cpus that have been identified as being present in
62 See Documentation/cputopology.txt for more information.
66 What: /sys/devices/system/cpu/cpu#/node
68 Contact: Linux memory management mailing list <linux-mm@kvack.org>
69 Description: Discover NUMA node a CPU belongs to
71 When CONFIG_NUMA is enabled, a symbolic link that points
72 to the corresponding NUMA node directory.
74 For example, the following symlink is created for cpu42
77 /sys/devices/system/cpu/cpu42/node2 -> ../../node/node2
80 What: /sys/devices/system/cpu/cpu#/topology/core_id
81 /sys/devices/system/cpu/cpu#/topology/core_siblings
82 /sys/devices/system/cpu/cpu#/topology/core_siblings_list
83 /sys/devices/system/cpu/cpu#/topology/physical_package_id
84 /sys/devices/system/cpu/cpu#/topology/thread_siblings
85 /sys/devices/system/cpu/cpu#/topology/thread_siblings_list
87 Contact: Linux kernel mailing list <linux-kernel@vger.kernel.org>
88 Description: CPU topology files that describe a logical CPU's relationship
89 to other cores and threads in the same physical package.
91 One cpu# directory is created per logical CPU in the system,
92 e.g. /sys/devices/system/cpu/cpu42/.
94 Briefly, the files above are:
96 core_id: the CPU core ID of cpu#. Typically it is the
97 hardware platform's identifier (rather than the kernel's).
98 The actual value is architecture and platform dependent.
100 core_siblings: internal kernel map of cpu#'s hardware threads
101 within the same physical_package_id.
103 core_siblings_list: human-readable list of the logical CPU
104 numbers within the same physical_package_id as cpu#.
106 physical_package_id: physical package id of cpu#. Typically
107 corresponds to a physical socket number, but the actual value
108 is architecture and platform dependent.
110 thread_siblings: internel kernel map of cpu#'s hardware
111 threads within the same core as cpu#
113 thread_siblings_list: human-readable list of cpu#'s hardware
114 threads within the same core as cpu#
116 See Documentation/cputopology.txt for more information.
119 What: /sys/devices/system/cpu/cpuidle/current_driver
120 /sys/devices/system/cpu/cpuidle/current_governer_ro
122 Contact: Linux kernel mailing list <linux-kernel@vger.kernel.org>
123 Description: Discover cpuidle policy and mechanism
125 Various CPUs today support multiple idle levels that are
126 differentiated by varying exit latencies and power
127 consumption during idle.
129 Idle policy (governor) is differentiated from idle mechanism
132 current_driver: displays current idle mechanism
134 current_governor_ro: displays current idle policy
136 See files in Documentation/cpuidle/ for more information.
139 What: /sys/devices/system/cpu/cpu*/cache/index*/cache_disable_X
141 KernelVersion: 2.6.27
142 Contact: mark.langsdorf@amd.com
143 Description: These files exist in every cpu's cache index directories.
144 There are currently 2 cache_disable_# files in each
145 directory. Reading from these files on a supported
146 processor will return that cache disable index value
147 for that processor and node. Writing to one of these
148 files will cause the specificed cache index to be disabled.
150 Currently, only AMD Family 10h Processors support cache index
151 disable, and only for their L3 caches. See the BIOS and
152 Kernel Developer's Guide at
153 http://www.amd.com/us-en/assets/content_type/white_papers_and_tech_docs/31116-Public-GH-BKDG_3.20_2-4-09.pdf
154 for formatting information and other details on the
156 Users: joachim.deguara@amd.com