13 Jun, 2016

1 commit

  • The s390 cpu topology gained another hierarchy level. The top level is
    now called drawer and contains several books. A book used to be the
    top level.

    In order to expose the cpu topology to user space allow to create new
    sysfs attributes dependent on CONFIG_SCHED_DRAWER which an
    architecture may define and select.

    These additional attributes will be available:

    /sys/devices/system/cpu/cpuX/topology/drawer_id
    /sys/devices/system/cpu/cpuX/topology/drawer_siblings
    /sys/devices/system/cpu/cpuX/topology/drawer_siblings_list

    Signed-off-by: Heiko Carstens
    Acked-by: Peter Zijlstra (Intel)
    Signed-off-by: Martin Schwidefsky

    Heiko Carstens
     

27 May, 2015

2 commits

  • The documentation on cpu topology seems to be a bit out-of-date.
    It doesn't mention the **_siblings_list attributes and uses old
    names for topology_**_cpumask() macros.

    Add information on missing attributes plus some additional
    clarifications.

    Signed-off-by: Bartosz Golaszewski
    Cc: Benoit Cousson
    Cc: Catalin Marinas
    Cc: Fenghua Yu
    Cc: Guenter Roeck
    Cc: Jean Delvare
    Cc: Jonathan Corbet
    Cc: Linus Torvalds
    Cc: Oleg Drokin
    Cc: Peter Zijlstra
    Cc: Rafael J. Wysocki
    Cc: Russell King
    Cc: Thomas Gleixner
    Cc: Viresh Kumar
    Link: http://lkml.kernel.org/r/1432645896-12588-3-git-send-email-bgolaszewski@baylibre.com
    Signed-off-by: Ingo Molnar

    Bartosz Golaszewski
     
  • Rename topology_thread_cpumask() to topology_sibling_cpumask()
    for more consistency with scheduler code.

    Signed-off-by: Bartosz Golaszewski
    Reviewed-by: Thomas Gleixner
    Acked-by: Russell King
    Acked-by: Catalin Marinas
    Cc: Benoit Cousson
    Cc: Fenghua Yu
    Cc: Guenter Roeck
    Cc: Jean Delvare
    Cc: Jonathan Corbet
    Cc: Linus Torvalds
    Cc: Oleg Drokin
    Cc: Peter Zijlstra
    Cc: Rafael J. Wysocki
    Cc: Russell King
    Cc: Viresh Kumar
    Link: http://lkml.kernel.org/r/1432645896-12588-2-git-send-email-bgolaszewski@baylibre.com
    Signed-off-by: Ingo Molnar

    Bartosz Golaszewski
     

04 Sep, 2013

1 commit


10 Sep, 2010

1 commit

  • Create attributes:

    /sys/devices/system/cpu/cpuX/topology/book_id
    /sys/devices/system/cpu/cpuX/topology/book_siblings

    which show the book id and the book siblings of a cpu.

    Unlike the attributes for SMT and MC these attributes are only present if
    CONFIG_SCHED_BOOK is set. There is no reason to pollute sysfs for every
    architecture with unused attributes.

    Signed-off-by: Heiko Carstens
    Signed-off-by: Peter Zijlstra
    LKML-Reference:
    Signed-off-by: Ingo Molnar

    Heiko Carstens
     

31 Oct, 2009

1 commit

  • Add brief descriptions for the following sysfs files:

    /sys/devices/system/cpu/cpu#/topology/core_id
    /sys/devices/system/cpu/cpu#/topology/core_siblings
    /sys/devices/system/cpu/cpu#/topology/core_siblings_list
    /sys/devices/system/cpu/cpu#/topology/physical_package_id
    /sys/devices/system/cpu/cpu#/topology/thread_siblings
    /sys/devices/system/cpu/cpu#/topology/thread_siblings_list

    The descriptions in Documentation/cputopology.txt weren't very
    informative, so I attempted a better description based on code
    reading and hopeful guessing.

    Updated Documentation/cputopology.txt with the better descriptions and
    fixed some style issues.

    Cc: Mike Travis
    Cc: Rusty Russell
    Signed-off-by: Alex Chiang
    Signed-off-by: Greg Kroah-Hartman

    Alex Chiang
     

12 Jan, 2009

1 commit


19 Dec, 2008

1 commit


13 Jun, 2008

1 commit

  • This can result in an empty topology directory in sysfs, and requires
    in-kernel users to protect all uses with #ifdef - see
    .

    The documentation of CPU topology specifies what the defaults should be if
    only partial information is available from the hardware. So we can
    provide these defaults as a fallback.

    This patch:

    - Adds default definitions of the 4 topology macros to
    - Changes drivers/base/topology.c to use the topology macros unconditionally
    and to cope with definitions that aren't lvalues
    - Updates documentation accordingly

    [ From: Andrew Morton
    - fold now-duplicated code
    - fix layout
    ]

    Signed-off-by: Ben Hutchings
    Cc: Vegard Nossum
    Cc: Nick Piggin
    Cc: Chandra Seetharaman
    Cc: Suresh Siddha
    Cc: Mike Travis
    Cc: Christoph Lameter
    Cc: John Hawkes
    Cc: Zhang, Yanmin
    Signed-off-by: Andrew Morton
    Signed-off-by: Ingo Molnar

    Ben Hutchings
     

04 Oct, 2006

1 commit


29 Mar, 2006

1 commit


04 Feb, 2006

1 commit

  • The patch implements cpu topology exportation by 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;
    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;

    To implement it in an architecture-neutral way, a new source file,
    driver/base/topology.c, is to export the 5 attributes.

    If one architecture wants to support this feature, it just needs to
    implement 4 defines, typically in file include/asm-XXX/topology.h.
    The 4 defines are:
    #define topology_physical_package_id(cpu)
    #define topology_core_id(cpu)
    #define topology_thread_siblings(cpu)
    #define topology_core_siblings(cpu)

    The type of **_id is int.
    The type of siblings is cpumask_t.

    To be consistent on all architectures, the 4 attributes should have
    deafult values if their values are unavailable. Below is the rule.

    1) physical_package_id: If cpu has no physical package id, -1 is the
    default value.

    2) core_id: If cpu doesn't support multi-core, its core id is 0.

    3) thread_siblings: Just include itself, if the cpu doesn't support
    HT/multi-thread.

    4) core_siblings: Just include itself, if the cpu doesn't support
    multi-core and HT/Multi-thread.

    So be careful when declaring the 4 defines in include/asm-XXX/topology.h.

    If an attribute isn't defined on an architecture, it won't be exported.

    Thank Nathan, Greg, Andi, Paul and Venki.

    The patch provides defines for i386/x86_64/ia64.

    Signed-off-by: Zhang, Yanmin
    Cc: Ingo Molnar
    Cc: Nick Piggin
    Cc: Greg KH
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Zhang, Yanmin