lkml.org 
[lkml]   [2009]   [Aug]   [6]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    Subject[PATCH] topology: Update CPU topology documentation
    Mention new attributes introduced for multi-node processor support.

    Signed-off-by: Andreas Herrmann <andreas.herrmann3@amd.com>
    ---
    Documentation/cputopology.txt | 35 +++++++++++++++++++++++++++++------
    1 files changed, 29 insertions(+), 6 deletions(-)

    diff --git a/Documentation/cputopology.txt b/Documentation/cputopology.txt
    index b41f3e5..48914b1 100644
    --- a/Documentation/cputopology.txt
    +++ b/Documentation/cputopology.txt
    @@ -3,13 +3,32 @@ Export cpu topology info via sysfs. Items (attributes) are similar
    to /proc/cpuinfo.

    1) /sys/devices/system/cpu/cpuX/topology/physical_package_id:
    -represent the physical package id of cpu X;
    + represents the physical package id of cpu X;
    2) /sys/devices/system/cpu/cpuX/topology/core_id:
    -represent the cpu core id to cpu X;
    -3) /sys/devices/system/cpu/cpuX/topology/thread_siblings:
    -represent the thread siblings to cpu X in the same core;
    -4) /sys/devices/system/cpu/cpuX/topology/core_siblings:
    -represent the thread siblings to cpu X in the same physical package;
    + represents the cpu core id of cpu X;
    +3) /sys/devices/system/cpu/cpuX/topology/cpu_node_id:
    + represents the processor internal node_id of cpu X;
    +4) /sys/devices/system/cpu/cpuX/topology/thread_siblings:
    + represents the thread siblings of cpu X in the same core;
    +5) /sys/devices/system/cpu/cpuX/topology/core_siblings:
    + represents the thread siblings of cpu X in the same processor
    + internal node;
    +6) /sys/devices/system/cpu/cpuX/topology/cpu_node_siblings:
    + represents the thread siblings of cpu X in the same physical
    + package;
    +
    +Note: cpu_node_siblings and core_siblings differ only on
    + multi-node processors. On all other processors they are
    + identical and then cpu_node_id is always 0.
    +
    +With that CPU topology is mapped into following hierarchy:
    +
    + Level | Set of CPUs
    + --------------|---------------
    + phys_package | cpu_node_siblings
    + cpu_node | core_siblings
    + core | thread_siblings
    + thread | one CPU

    To implement it in an architecture-neutral way, a new source file,
    drivers/base/topology.c, is to export the 4 attributes.
    @@ -20,6 +39,8 @@ these macros in include/asm-XXX/topology.h:
    #define topology_core_id(cpu)
    #define topology_thread_cpumask(cpu)
    #define topology_core_cpumask(cpu)
    +#define topology_cpu_node_id(cpu)
    +#define topology_cpu_node_siblings(cpu)

    The type of **_id is int.
    The type of siblings is (const) struct cpumask *.
    @@ -31,6 +52,8 @@ not defined by include/asm-XXX/topology.h:
    2) core_id: 0
    3) thread_siblings: just the given CPU
    4) core_siblings: just the given CPU
    +5) cpu_node_id: 0
    +6) cpu_node_siblings: identical to core_siblings

    Additionally, cpu topology information is provided under
    /sys/devices/system/cpu and includes these files. The internal
    --
    1.6.3.3




    \
     
     \ /
      Last update: 2009-08-06 20:29    [W:0.028 / U:31.316 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site