git://ftp.safe.ca
/
safe
/
jmp
/
linux-2.6
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge commit 'v2.6.32-rc8' into HEAD
[safe/jmp/linux-2.6]
/
Documentation
/
cputopology.txt
diff --git
a/Documentation/cputopology.txt
b/Documentation/cputopology.txt
index
b41f3e5
..
f1c5c4b
100644
(file)
--- a/
Documentation/cputopology.txt
+++ b/
Documentation/cputopology.txt
@@
-1,15
+1,28
@@
-Export
cpu
topology info via sysfs. Items (attributes) are similar
+Export
CPU
topology info via sysfs. Items (attributes) are similar
to /proc/cpuinfo.
1) /sys/devices/system/cpu/cpuX/topology/physical_package_id:
to /proc/cpuinfo.
1) /sys/devices/system/cpu/cpuX/topology/physical_package_id:
-represent the physical package id of cpu X;
+
+ physical package id of cpuX. Typically corresponds to a physical
+ socket number, but the actual value is architecture and platform
+ dependent.
+
2) /sys/devices/system/cpu/cpuX/topology/core_id:
2) /sys/devices/system/cpu/cpuX/topology/core_id:
-represent the cpu core id to cpu X;
+
+ the CPU core ID of cpuX. Typically it is the hardware platform's
+ identifier (rather than the kernel's). The actual value is
+ architecture and platform dependent.
+
3) /sys/devices/system/cpu/cpuX/topology/thread_siblings:
3) /sys/devices/system/cpu/cpuX/topology/thread_siblings:
-represent the thread siblings to cpu X in the same core;
+
+ internel kernel map of cpuX's hardware threads within the same
+ core as cpuX
+
4) /sys/devices/system/cpu/cpuX/topology/core_siblings:
4) /sys/devices/system/cpu/cpuX/topology/core_siblings:
-represent the thread siblings to cpu X in the same physical package;
+
+ internal kernel map of cpuX's hardware threads within the same
+ physical_package_id.
To implement it in an architecture-neutral way, a new source file,
drivers/base/topology.c, is to export the 4 attributes.
To implement it in an architecture-neutral way, a new source file,
drivers/base/topology.c, is to export the 4 attributes.
@@
-32,32
+45,32
@@
not defined by include/asm-XXX/topology.h:
3) thread_siblings: just the given CPU
4) core_siblings: just the given CPU
3) thread_siblings: just the given CPU
4) core_siblings: just the given CPU
-Additionally,
cpu
topology information is provided under
+Additionally,
CPU
topology information is provided under
/sys/devices/system/cpu and includes these files. The internal
source for the output is in brackets ("[]").
/sys/devices/system/cpu and includes these files. The internal
source for the output is in brackets ("[]").
- kernel_max: the maximum
cpu
index allowed by the kernel configuration.
+ kernel_max: the maximum
CPU
index allowed by the kernel configuration.
[NR_CPUS-1]
[NR_CPUS-1]
- offline:
cpu
s that are not online because they have been
+ offline:
CPU
s that are not online because they have been
HOTPLUGGED off (see cpu-hotplug.txt) or exceed the limit
HOTPLUGGED off (see cpu-hotplug.txt) or exceed the limit
- of
cpu
s allowed by the kernel configuration (kernel_max
+ of
CPU
s allowed by the kernel configuration (kernel_max
above). [~cpu_online_mask + cpus >= NR_CPUS]
above). [~cpu_online_mask + cpus >= NR_CPUS]
- online:
cpu
s that are online and being scheduled [cpu_online_mask]
+ online:
CPU
s that are online and being scheduled [cpu_online_mask]
- possible:
cpu
s that have been allocated resources and can be
+ possible:
CPU
s that have been allocated resources and can be
brought online if they are present. [cpu_possible_mask]
brought online if they are present. [cpu_possible_mask]
- present:
cpu
s that have been identified as being present in the
+ present:
CPU
s that have been identified as being present in the
system. [cpu_present_mask]
The format for the above output is compatible with cpulist_parse()
[see <linux/cpumask.h>]. Some examples follow.
system. [cpu_present_mask]
The format for the above output is compatible with cpulist_parse()
[see <linux/cpumask.h>]. Some examples follow.
-In this example, there are 64
cpu
s in the system but cpus 32-63 exceed
+In this example, there are 64
CPU
s in the system but cpus 32-63 exceed
the kernel max which is limited to 0..31 by the NR_CPUS config option
the kernel max which is limited to 0..31 by the NR_CPUS config option
-being 32. Note also that
cpu
s 2 and 4-31 are not online but could be
+being 32. Note also that
CPU
s 2 and 4-31 are not online but could be
brought online as they are both present and possible.
kernel_max: 31
brought online as they are both present and possible.
kernel_max: 31
@@
-67,8
+80,8
@@
brought online as they are both present and possible.
present: 0-31
In this example, the NR_CPUS config option is 128, but the kernel was
present: 0-31
In this example, the NR_CPUS config option is 128, but the kernel was
-started with possible_cpus=144. There are 4
cpu
s in the system and cpu2
-was manually taken offline (and is the only
cpu
that can be brought
+started with possible_cpus=144. There are 4
CPU
s in the system and cpu2
+was manually taken offline (and is the only
CPU
that can be brought
online.)
kernel_max: 127
online.)
kernel_max: 127
@@
-78,4
+91,4
@@
online.)
present: 0-3
See cpu-hotplug.txt for the possible_cpus=NUM kernel start parameter
present: 0-3
See cpu-hotplug.txt for the possible_cpus=NUM kernel start parameter
-as well as more information on the various cpumask
'
s.
+as well as more information on the various cpumasks.