Blog Code Forum

ASM:Topology

From Wiki.cyring.fr

(Difference between revisions)
Jump to: navigation, search
(Option)
Line 76: Line 76:
./x2topology.sh -v
./x2topology.sh -v
</syntaxhighlight>
</syntaxhighlight>
 +
== Additional documentation ==
 +
# The Intel whitepaper about Topology

Revision as of 10:32, 12 March 2014

Contents

ACPI Extended Topology

Building the Program

Prerequesites

Getting the Source Files

In the repository, download the following files in a project directory, such as x2topology

Compile the Source File

  • Compile the C source file
gcc x2topology.c -o x2topology
  • Give the executable permission to the downloaded Bash script
chmod +x x2topology.sh

Running x2topology

  • Remark: You may add your project directory to the executable PATH, or invoke x2topology with a ./ prefix (meaning in the current directory)

Launch the x2topology.sh script which iterates through all the enabled Cores

./x2topology.sh
  • Using a Core i7, Nehalem architecture, Hyper-threading and 4 Cores enabled, it outputs:
OS      APIC    Thread  Core
0x1     0       0       0
0x2     2       0       1
0x4     4       0       2
0x8     6       0       3
0x10    1       1       0
0x20    3       1       1
0x40    5       1       2
0x80    7       1       3
  • Using a Core i7, Nehalem architecture, Hyper-threading disabled and 4 Cores enabled, it outputs:
OS      APIC    Thread  Core
0x1     0       0       0
0x2     2       0       1
0x4     4       0       2
0x8     6       0       3
0x10
0x20
0x40
0x80
  • Using a Core i7, Nehalem architecture, Hyper-threading disabled and only 1 Core enabled (3 Cores disabled), it outputs:
OS      APIC    Thread  Core
0x1     0       0       0
0x2
0x4
0x8
0x10
0x20
0x40
0x80

where in the header text the following fields mean:

  1. OS is the CPU mask as defined by the Linux Kernel, see man taskset
  2. ACPI is the identifier of the physical or logical Core in a SMT architecture
  3. Thread is the index number of a Thread inside a Core
  4. Core is the index number of a Core inside a Processor package

Option

x2topology, binary or shell script can be launched with a verbose option to get details:

./x2topology -v
./x2topology.sh -v

Additional documentation

  1. The Intel whitepaper about Topology
Personal tools