Blog Code Forum

ASM:Topology

From Wiki.cyring.fr

(Difference between revisions)
Jump to: navigation, search
(Prerequesites)
Line 4: Line 4:
* The Linux Operating System.
* The Linux Operating System.
* Any Linux package which provides the [http://www.linuxcommand.org/man_pages/taskset1.html taskset] command that allows the [http://en.wikipedia.org/wiki/Processor_affinity Processor affinity].<br />
* Any Linux package which provides the [http://www.linuxcommand.org/man_pages/taskset1.html taskset] command that allows the [http://en.wikipedia.org/wiki/Processor_affinity Processor affinity].<br />
-
( [https://www.archlinux.org/packages/core/x86_64/util-linux util-linux] if running ArchLinux. )
+
** ( [https://www.archlinux.org/packages/core/x86_64/util-linux util-linux] if running ArchLinux. )
* The GNU [https://www.archlinux.org/packages/core/x86_64/gcc gcc] C compiler.
* The GNU [https://www.archlinux.org/packages/core/x86_64/gcc gcc] C compiler.

Revision as of 10:09, 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

Build the Program

  • 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)
  1. Launch the script x2topology.sh 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
  1. x2topology, binary and shell script, can be lauched with a verbose option to get details:
./x2topology -v
./x2topology.sh -v
Personal tools