Sun Microsystems, Inc.  Sun System Handbook - ISO 3.4 June 2011 Internal/Partner Edition
   Home | Current Systems | Former STK Products | EOL Systems | Components | General Info | Search | Feedback

Asset ID: 1-71-1001683.1
Update Date:2011-05-19
Keywords:

Solution Type  Technical Instruction Sure

Solution  1001683.1 :   Sun Fire[TM] 12K/15K/E20K/E25K: Location and Relocation of Kernel for DR Operations  


Related Items
  • Sun Fire E25K Server
  •  
  • Sun Fire E20K Server
  •  
  • Sun Fire 12K Server
  •  
  • Sun Fire 15K Server
  •  
Related Categories
  • GCS>Sun Microsystems>Servers>High-End Servers
  •  

PreviouslyPublishedAs
202288


Applies to:

Sun Fire 12K Server
Sun Fire 15K Server
Sun Fire E20K Server
Sun Fire E25K Server
All Platforms

Goal

Locating non-pageable (or permanent) memory in the system is necessary to plan and predict which DR operations may require a quiesce (Temporary suspension) of the Solaris[TM] Operating System (OS). Permanent memory is indicative of the presence of kernel memory.

Solution

From the Main System Controller (SC), use the following command (this example is checking Domain B):

sc% rcfgadm -d B -av | grep SB | grep permanent
SB17::memory connected configured ok base address 0x20000000000, 8388608 KBytes total, 997016 KBytes permanent

From the Domain itself, use the following command:

domain# cfgadm -av | grep SB | grep permanent
SB17::memory connected configured ok base address 0x20000000000, 8388608 KBytes total, 997016 KBytes permanent

At boot time, kernel memory is loaded into the highest address space in the domain. This is typically, but not necessarily always, the highest numbered system board in the domain. Prior DR detaches that involved OS quiesces alter the physical memory address mapping in the system. Any memory with the permanent designation will require an OS quiesce if detached from a running domain. Note that permanent memory need not be confined to a single system board.

In the Sun Fire[TM] 12K/15K/E20K/E25K, the physical memory address space is divided into 128GB slices. Each memory slice is mapped to a system board. Slice 17 is the highest memory address range and slice 0 the lowest. For completeness, when DR must relocate the kernel memory, target selection is done based on weighting. DR categorizes all remaining system boards in the system according to predefined preferences.

The preferences in order are:
  1. System board with the same memory size
  2. System board with a larger memory size
  3. System board with a smaller memory size
  4. System board with a smaller memory size, but offsetting pushes the end physical address beyond the maximum memory slice, reducing the overall available memory
Once all boards have been categorized, the lowest numbered system board with the highest preference is selected as the new location of the kernel.

See Document 1012349.1 for information on the new Kernel Cage Splitting Overview.


P
roduct
Sun Fire 15K Server
Sun Fire 12K Server
Sun Fire E25K Server
Sun Fire E20K Server

Internal Section

Additional references:

Document 1010363.1: "Sun Fire[TM] 12K/15K/E20K/E25K Servers: Dynamic Reconfiguration Considerations"
Document 1012349.1: "Kernel Cage Splitting Overview"


Additional background information:

The current mapping of a system is available via redx (Use redx carefully on a production server, as improper use can lead to domain/platform downtime):

redx> pcd p
mem_slice_map[17:0]= 17 16 15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00
                     ^^                                                 ^^
                   EX 17                                                00


[17:0] represent the expanders. The two digit value in each column is the address slice that is mapped to that expander.
For example, memory slice 15 is mapped to SB15. Assume a domain that contains SB15, SB16, and SB17 and the platform memory slice map is as above. At boot time, the kernel is loaded starting in SB17 since this system board is the highest address range.

If SB17 is later detached, since kernel memory is present on the board, a quiesce of the OS and a copy-rename operation is performed. A copy-rename operation takes the physical address range of one system board and remaps it to another. Suppose that SB15 receives kernel memory when SB17 is detached. Copy-rename assigns the address slice of SB17 to SB15, and the slice map becomes:

redx> pcd p
mem_slice_map[17:0]= 15 16 17 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00
                     ^^    ^^                                           ^^
                   EX 17   15                                           00


The highest address range is now mapped to SB15. SB15's former address slice is mapped to SB17. Subsequent reboots/rePOSTs of this domain result in the kernel being loaded starting in SB15 since this system board is now at the highest address range.

Keywords: 15K, 12K, SF15K, SF12K, 20k, 25k, 20K, 25K, kernel, DR, dynamic reconfiguration, permanent memory, CASM, cage

Previously Published As 48157


Product_uuid
29e4659c-0a18-11d6-9fa1-e67bbc033df8|Sun Fire 15K Server
077fd4c5-df8f-4320-ad69-7d01603a674d|Sun Fire 12K Server
d842dd03-059b-11d8-84cb-080020a9ed93|Sun Fire E25K Server
1404a2d3-059a-11d8-84cb-080020a9ed93|Sun Fire E20K Server



Attachments
This solution has no attachment
  Copyright © 2011 Sun Microsystems, Inc.  All rights reserved.
 Feedback