Sun Microsystems, Inc.  Oracle System Handbook - ISO 7.0 May 2018 Internal/Partner Edition
   Home | Current Systems | Former STK Products | EOL Systems | Components | General Info | Search | Feedback

Asset ID: 1-79-2020966.1
Update Date:2018-01-05
Keywords:

Solution Type  Predictive Self-Healing Sure

Solution  2020966.1 :   SPARC M8 and SPARC M7 Series Servers : Processor numbering and decoding CPU location  


Related Items
  • SPARC M7-8
  •  
  • SPARC M8-8
  •  
  • SPARC M7-16
  •  
Related Categories
  • PLA-Support>Sun Systems>SPARC>Enterprise>SN-SPARC: M7
  •  




In this Document
Purpose
Scope
Details
References


Applies to:

SPARC M7-8
SPARC M7-16
SPARC M8-8
Information in this document applies to any platform.

Purpose

Solaris[TM] device paths and messaging reference the ID of a given processor (in /var/adm/messages, console logs, core files, OBP probing, FMA logs etc.).

By correctly mapping this ID to a physical location, we know that we are servicing the right component to resolve a hardware problem. An incorrect mapping could result in replacing and/or servicing the wrong component and could cause further outages or problems on the platform.
Also, on a sun4v architecture such as the M7 platforms, this may help to understand how the cpus are assigned to the various domains.

When FMA indicts an component, the decoding is obviously automatically done and the indicted CMP or CMIOU is the one to be serviced.

Scope

This documents provides information about SPARC M8 and SPARC M7 servers CPU decoding.

References : SPARC M8 and SPARC M7 Servers Administration Guide http://docs.oracle.com/cd/E55211_01/

Details

A SPARC M7 processor is composed of 32 fourth generation CMT cores (S4).  Each S4 core is Dynamically Threaded, 1 to 8 Threads Per Core.
A SPARC M8 processor is composed of 32 fifth generation CMT cores (S5). Each S5 core is Dynamically Threaded, 1 to 8 Threads Per Core.
Solaris often uses the equivalent terminology strand in place of the term thread.

A CPU, memory, and I/O unit (CMIOU) is equipped with either one SPARC M7 processor or one SPARC M8 processor.
Consequently, a CMIOU has 32 cores, 256 threads.

A SPARC M7-8 or M8-8 server with one Pdomain supports one physical domain, up to eight CMIOUs.
The single physical domain can have up to eight processors, 256 cores, 2048 threads.

A SPARC M7-8 or M8-8 server with two Pdomains supports two physical domains, up to four CMIOUs per physical domain.
Each of the two physical domains can have up to four processors, 128 cores, 1024 threads.

A SPARC M7-16 is composed of Domain Configuration Unit (DCU).
An M7-16 physical domain can be assigned one to four DCUs.
A DCU is composed of two to four CMIOUs.
So an M7-16 server is composed of up to 16 M7 processors, 128 cores, 4096 threads.


ILOM :

From an ILOM perspective, each CMIOU (CMIOU[0-15]) has 1 CPU Module (CM) and one Host Processor (CMP).
The NAC format for the SPARC M7 as visible from the ILOM shell is:

  • /System/Processors/CPUs/CPU_[0-15]
  • /SYS/CMIOU[0-15]/CM/CMP


Example

-> show -d properties /System/Processors/CPUs/CPU_15
  /System/Processors/CPUs/CPU_15
    Properties:
        health = OK
        health_details = -
        requested_state = Enabled
        part_number = Not Available
        serial_number = 0000000000000000000b9078a38c5182
        location = CMIOU15/CM/CMP (CPU Memory IO Unit 15)
        model = Oracle SPARC M7
        max_clock_speed = 4.133 GHz
        total_cores = 32
        enabled_cores = 24
        temperature = 56 degrees C
-> show -d properties /SYS/CMIOU15/CM/CMP
  /SYS/CMIOU15/CM/CMP
    Properties:
        type = Host Processor
        ipmi_name = CPU15
        requested_config_state = Enabled
        current_config_state = Enabled
        disable_reason = None
        fru_name = Oracle SPARC M7
        fru_manufacturer = Oracle Corporation
        fru_version = 3e004021030607
        fru_serial_number = 0000000000000000000b9078a38c5182



For SPARC M7-8 and M8-8 servers with one Pdomain , DCU0 is composed of the following CMIOU/CMP :

DCU    NAC Name                            ipmi_name    SDM
DCU0  /SYS/CMIOU[0-7]/CM/CMP    /CPU[0-7]      /System/Processors/CPUs/CPU_[0-7]

 

For SPARC M7-8and M8-8 servers with 2 Pdomains , each DCU (DCU[0-1]) is composed of the following CMIOU/CMP :

DCU      NAC Name                            ipmi_name    SDM
DCU0    /SYS/CMIOU[0-3]/CM/CMP    /CPU[0-3]     /System/Processors/CPUs/CPU_[0-3]
DCU1    /SYS/CMIOU[4-7]/CM/CMP    /CPU[4-7]     /System/Processors/CPUs/CPU_[4-7]


For SPARC M7-16 servers , each DCU (DCU[0-3]) is composed of the following CMIOU/CMP :

DCU      NAC Name                                ipmi_name    SDM
DCU0    /SYS/CMIOU[0-3]/CM/CMP        /CPU[0-3]      /System/Processors/CPUs/CPU_[0-3]
DCU1    /SYS/CMIOU[4-7]/CM/CMP        /CPU[4-7]      /System/Processors/CPUs/CPU_[4-7]
DCU2    /SYS/CMIOU[8-11]/CM/CMP      /CPU[8-11]    /System/Processors/CPUs/CPU_[8-11]
DCU3    /SYS/CMIOU[12-15]/CM/CMP    /CPU[12-15]   /System/Processors/CPUs/CPU_[12-15]


You can obtain a summary of the chassis configuration as following :

-> show /System/Processors summary_description installed_cpus max_cpus

  /System/Processors
    Properties:
        summary_description = Sixteen Oracle SPARC M7
        installed_cpus = 16
        max_cpus = 16


For each Pdomain

-> show /Servers/PDomains/PDomain_0/System/Processors

 /Servers/PDomains/PDomain_0/System/Processors
    Targets:
        CPUs

    Properties:
        health = OK
        health_details = -
        architecture = SPARC
        summary_description = Four Oracle SPARC M7
        installed_cpus = 4
        max_cpus = 4
        actual_power_consumption = 1366 watts

    Commands:
        cd
        show

-> show /Servers/PDomains/PDomain_0/System/Processors/CPUs

 /Servers/PDomains/PDomain_0/System/Processors/CPUs
    Targets:
        CPU_0
        CPU_1
        CPU_2
        CPU_3

 

Each CMP is composed with 8 SPARC Cores Clusters (SCC).

Each SCC is composed of 4 cores.

Each core is composed of 8 threads.

From ILOM :

  • /SYS/CMIOU[0-15]/CM/CMP/SCC[0-7]/CORE[0-3]/P[0-7]

The OBP and Solaris commands below will report the core and thread IDs.



OBP Device tree :

As soon as the Host has been started and OBP is running, the CPUIDs are visible in hexadecimal format as following :

{40} ok cd cpu@40
{40} ok .properties
clock-frequency          f65c15b0
clock-frequency64        00000000 f65c15b0
compatible               SPARC-M7
                         SPARC-3e40
                         SUNW,sun4v-cpu
                         sun4v
device_type              cpu
reg                      c0000040 00000000 00000000 00000000
name                     cpu




Solaris :


From Solaris, the following commands are available from Control and Guest domains in order to identify and locate CPUs :

  • psrinfo
  • prtdiag
  • prtpicl
  • fmtopo

When cpus are assigned to guest domains, the allocation can be checked using the ldm command from the control domain.
Otherwise, check the cupid from the guest domain itself.

The fmtopo output provides provides good mix for both logical and physical information.

hc://:chassis-mfg=Oracle-Corporation:chassis-name=SPARC-M7-8:chassis-part=32397572+7+1:chassis-serial=AK00188663/chassis=0/cpuboard=7/chip=7/core=506/strand=4052
  group: protocol                       version: 1   stability: Private/Private
    resource          fmri      hc://:chassis-mfg=Oracle-Corporation:chassis-name=SPARC-M7-8:chassis-part=32397572+7+1:chassis-serial=AK00188663/chassis=0/cpuboard=7/chip=7/core=506/strand=4052
    FRU               fmri      hc://:chassis-mfg=Oracle-Corporation:chassis-name=SPARC-M7-8:chassis-part=32397572+7+1:chassis-serial=AK00188663:fru-serial=465769T+14456C01VC:fru-part=7090838:fru-revision=04/chassis=0/cpuboard=7
    devchassis        string    /SYS/CMIOU7
    label             string    /SYS/CMIOU7
    ASRU              fmri      cpu:///cpuid=4052/serial=000b8cb8810ce0c8
  group: authority                      version: 1   stability: Private/Private
    chassis-mfg       string    Oracle Corporation
    chassis-name      string    SPARC M7-8
    chassis-part      string    32397572+7+1
    chassis-serial    string    AK00188663
    chassis-alias     string    SYS
  group: system                         version: 1   stability: Private/Private
    isa               string    sparc
    machine           string    sun4v


From the prtpicl output

         cpu (cpu, 1fb0000029c)
          :StateBegin    Thu Jun 11 11:48:59 2015
          :FPUType       sparcv9
          :ProcessorType         sparcv9
          :State         on-line
          :ID    2
          :dtlb-entries  128
          :itlb-entries  64
          :l2-dcache-line-size   64
          :l2-dcache-size        262144
          :l2-dcache-associativity       8
          :l1-dcache-line-size   32
          :l1-dcache-size        16384
          :l1-dcache-associativity       4
          :l3-cache-line-size    64
          :l3-cache-size         8388608
          :l3-cache-associativity        8
          :l2-icache-line-size   64
          :l2-icache-size        262144
          :l2-icache-associativity       8
          :l1-icache-line-size   64
          :l1-icache-size        16384
          :l1-icache-associativity       4
          :portid        2
          :cpuid         2
          :UnitAddress   c0000002,0
          :reg   c0  00  00  02  00  00  00  00  00  00  00  00  00  00  00  00
          :device_type   cpu
          :compatible   (1fb000002a5TBL)
           | SPARC-M7 |
           | SPARC-3e40 |
           | SUNW,sun4v-cpu |
           | sun4v |
          :clock-frequency64     00  00  00  00  f6  5c  15  b0
          :clock-frequency       0xf65c15b0
          :devfs-path    /cpu
          :binding-name  cpu
          :instance      -1
          :_class        cpu
          :name  cpu


From the psrinfo output, in the following example, we can determined which strands are missing :

# psrinfo -vp | more
The physical processor has 32 cores and 256 virtual processors (0-255)
  The core has 8 virtual processors (0-7)
  The core has 8 virtual processors (8-15)
  The core has 8 virtual processors (16-23)
  The core has 8 virtual processors (24-31)
  The core has 8 virtual processors (32-39)
  The core has 8 virtual processors (40-47)
  The core has 8 virtual processors (48-55)
  The core has 8 virtual processors (56-63)
  The core has 8 virtual processors (64-71)
  The core has 8 virtual processors (72-79)
  The core has 8 virtual processors (80-87)
  The core has 8 virtual processors (88-95)
  The core has 8 virtual processors (96-103)
  The core has 8 virtual processors (104-111)
  The core has 8 virtual processors (112-119)
  The core has 8 virtual processors (120-127)
  The core has 8 virtual processors (128-135)
  The core has 8 virtual processors (136-143)
  The core has 8 virtual processors (144-151)
  The core has 8 virtual processors (152-159)
  The core has 8 virtual processors (160-167)
  The core has 8 virtual processors (168-175)
  The core has 8 virtual processors (176-183)
  The core has 8 virtual processors (184-191)
  The core has 8 virtual processors (192-199)
  The core has 8 virtual processors (200-207)
  The core has 8 virtual processors (208-215)
  The core has 8 virtual processors (216-223)
  The core has 8 virtual processors (224-231)
  The core has 8 virtual processors (232-239)
  The core has 8 virtual processors (240-247)
  The core has 8 virtual processors (248-255)
    SPARC-M7 (chipid 0, clock 4133 MHz)
The physical processor has 31 cores and 248 virtual processors (256-375,384-511)
  The core has 8 virtual processors (256-263)
  The core has 8 virtual processors (264-271)
  The core has 8 virtual processors (272-279)
  The core has 8 virtual processors (280-287)
  The core has 8 virtual processors (288-295)
  The core has 8 virtual processors (296-303)
  The core has 8 virtual processors (304-311)
  The core has 8 virtual processors (312-319)
  The core has 8 virtual processors (320-327)
  The core has 8 virtual processors (328-335)
  The core has 8 virtual processors (336-343)
  The core has 8 virtual processors (344-351)
  The core has 8 virtual processors (352-359)
  The core has 8 virtual processors (360-367)
  The core has 8 virtual processors (368-375)
  The core has 8 virtual processors (384-391)
  The core has 8 virtual processors (392-399)
  The core has 8 virtual processors (400-407)
  The core has 8 virtual processors (408-415)
  The core has 8 virtual processors (416-423)
  The core has 8 virtual processors (424-431)
  The core has 8 virtual processors (432-439)
  The core has 8 virtual processors (440-447)
  The core has 8 virtual processors (448-455)
  The core has 8 virtual processors (456-463)
  The core has 8 virtual processors (464-471)
  The core has 8 virtual processors (472-479)
  The core has 8 virtual processors (480-487)
  The core has 8 virtual processors (488-495)
  The core has 8 virtual processors (496-503)
  The core has 8 virtual processors (504-511)
    SPARC-M7 (chipid 1, clock 4133 MHz)
...


The easiest way to determine the physical location and allocation of CPU resources is to use the below ldm commands introduced in OVM 3.2. Run the below command in the control domain.  The complete list of core ids and CPU sets is listed in this file attachment - cmu-cid-cpuset as additional reference.

Example of an M7-8 host :

# ldm list-rsrc-group -o core /SYS/CMIOU7
NAME                                    
/SYS/CMIOU7                             

CORE
    CID                                             BOUND            
    448, 449, 450, 451, 456, 457, 458, 459          primary          
    464, 465, 466, 467, 472, 473, 474, 475          primary          
    480, 481, 482, 483, 488, 489, 490, 491          primary          
    496, 497, 498, 499, 504, 505, 506, 507          primary   

# ldm list -l primary       
NAME             STATE      FLAGS   CONS    VCPU  MEMORY   UTIL  NORM  UPTIME
primary          active     -n-c--  UART    1784  849408M  0.0%  0.0%  4d 16h 30m
...
CORE
    CID    CPUSET
    0      (0, 1, 2, 3, 4, 5, 6, 7)
    1      (8, 9, 10, 11, 12, 13, 14, 15)
...
    3      (24, 25, 26, 27, 28, 29, 30, 31)
    8      (64, 65, 66, 67, 68, 69, 70, 71)
    9      (72, 73, 74, 75, 76, 77, 78, 79)
...
    507    (4056, 4057, 4058, 4059, 4060, 4061, 4062, 4063)

VCPU
    VID    PID    CID    UTIL NORM STRAND
    0      0      0      0.8% 0.8%   100%
    1      1      0      0.0% 0.0%   100%
    2      2      0      0.0% 0.0%   100%
    3      3      0      0.0% 0.0%   100%
    4      4      0      0.0% 0.0%   100%
    5      5      0      0.0% 0.0%   100%
    6      6      0      0.0% 0.0%   100%
    7      7      0      0.0% 0.0%   100%
    8      8      1      0.0% 0.0%   100%
    9      9      1      0.0% 0.0%   100%
    10     10     1      0.0% 0.0%   100%
    11     11     1      0.0% 0.0%   100%
    12     12     1      0.0% 0.0%   100%
    13     13     1      0.0% 0.0%   100%
    14     14     1      0.0% 0.0%   100%
    15     15     1      0.0% 0.0%   100%
...
    31     31     3      0.0% 0.0%   100%
    32     64     8      0.0% 0.0%   100%
    33     65     8      0.0% 0.0%   100%
    34     66     8      0.0% 0.0%   100%
...
    2047   4063   507    0.0% 0.0%   100%

 



References

<NOTE:1967858.1> - SPARC M7-16 Server : Product Information Page
<NOTE:1967511.1> - SPARC M7-8 Server : Product Information Page

Attachments
This solution has no attachment
  Copyright © 2018 Oracle, Inc.  All rights reserved.
 Feedback