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

Asset ID: 1-71-1004897.1
Update Date:2012-05-02
Keywords:

Solution Type  Technical Instruction Sure

Solution  1004897.1 :   Using ASR commands to manually enable/disable CPUs on a Sun Fire[TM] V480/V880 V490/v890  


Related Items
  • Sun Fire V480 Server
  •  
  • Sun Fire V490 Server
  •  
  • Sun Fire V880 Server
  •  
  • Sun Fire V890 Server
  •  
Related Categories
  • PLA-Support>Sun Systems>SPARC>Workgroup Servers>SN-SPARC: SF-Vx80
  •  
  • .Old GCS Categories>Sun Microsystems>Servers>Entry-Level Servers
  •  

PreviouslyPublishedAs
206863


Applies to:

Sun Fire V890 Server - Version Not Applicable and later
Sun Fire V480 Server - Version Not Applicable and later
Sun Fire V490 Server - Version Not Applicable and later
Sun Fire V880 Server - Version Not Applicable and later
All Platforms

Goal

This document describes how to use the commands 'asr-enable' and 'asr-disable' to manually disable CPUs on a Sun Fire V480/V880 V490/V890. This document also provides examples of the steps necessary to implement these ASR commands for single and multiple CPUs.

Fix

The user level commands asr-enable and asr-disable can be used to manually enable or disable system devices. To view the full list of devices that can be enabled or disabled, type the .asr command at the ok prompt. Below is an example of the asr-enable command for a V480.

Note on the Output from V490
======================
Be aware that the devices are changed and replaced by "cmp" instead of "cpu".   
Example:   cpu3-bank3 = cmp3-bank3

Also note that disabling a CPU will disable the memory controlled by that CPU.

See : <Document 1370243.1> CPU / Memory Dimm Map 480/490/880/890  for a more complete discussion of CPU numbering.

{2} ok asr-enable
Usage: asr-enable
Where is an absolute device path, a device alias, or a device label.
Valid device labels include:

cpu3-bank3 cpu3-bank2 cpu3-bank1 cpu3-bank0
cpu2-bank3 cpu2-bank2 cpu2-bank1 cpu2-bank0
cpu1-bank3 cpu1-bank2 cpu1-bank1 cpu1-bank0
cpu0-bank3 cpu0-bank2 cpu0-bank1 cpu0-bank0
pci-slot5 pci-slot4 pci-slot3 pci-slot2
pci-slot1 pci-slot0 gptwo-slotc gptwo-slotb
gptwo-slota ob-ide ob-net0 ob-net1
ob-fcal io-bridge9 io-bridge8 io-bridge5
cpu3 cpu2 cpu1 cpu0

* cpu3-bank* cpu2-bank* cpu1-bank*
cpu0-bank* pci* pci-slot* gptwo-slot*
io-bridge* cpu*


The .asr is another user-level command, that will display the current status (enabled or disabled) of devices that are supported by ASR (the example output is for V480):

{0} ok .asr
ASR Disablement Status
Component: Status CPU/Memory: Enabled IO-Bridge5: Enabled IO-Bridge8: Enabled IO-Bridge9: Enabled GPTwo Slots: Enabled Onboard FCAL: Enabled Onboard Net1: Enabled Onboard Net0: Enabled Onboard IDE: Enabled PCI Slots: Enabled


The normal ASR function is that disabling a CPU with asr-disable will effectively disable the entire CPU module, so disabling CPU1 will also take CPU3 out of the system. To bring a CPU back on line after it has been disabled, you must asr-enable the CPU and then power-cycle the system.

Similarly, if you have CPU1 & CPU3 disabled,then enable only CPU1 still leaving CPU3 disabled.  CPU1 will still be [effectively] disabled as well, so you must enable both CPUs (and power-cycle) before either CPU is available. Simply running asr-enable on a cpu and reseting the system isn't good enough, you must power-cycle.

You need to use the .asr command at the ok prompt to check the status of each CPU. The OBP command reset-all should be used immediately after asr-enable or asr-disable, so that these commands can take effect.

Here are some examples (based on 4-way V480 server) of the steps you need to follow in order get a CPU(s) back alive after it has been disabled:

1. Example procedure to asr-disable and asr-enable single CPU (4-way system) :

The steps to asr-enable a previously asr-disable CPU.  This is not needed if the CPU was failed by POST, this is only needed when the CPU has been manually disabled:

a)   For a V480

ok asr-disable cpu1



- or  for V490-

a1)

ok asr-disable cmp1



Then

b)  Reset the system, and Disabled and unavailable components in the system will respond with:

ok reset-all
Resetting ...
WARNING: Offlining/Disabling CPU1...and CPU3...Done.


c) At this point if reset-all is performed (or reset-all followed by power cycle) CPU1 will still be unavailable. This can be verified via .env command at the ok prompt, which will show the status only for CPU0&2, or at the OS level by using the commands psrinfo -v and prtdiag -v.

d)  To enable CPU1/CMP1 for V480

ok asr-enable cpu1


d1) For V490:

ok asr-enable cmp1


.asr  can be used to check status. After a  reset-all  cpu1/cmp1  is still unavailable.  This can be verified by using .env, which will only show the status for CPU0 & CPU2.

After a power-cycle  cpu1 & cpu3 will now be available.  This can be verified via the .env command  at OBP level, which will now show the status for all 4 CPUs, or at the OS level by using the commands  psrinfo -v and prtdiag -v.

2. Example procedure to asr-disable and asr-enable CPU1 & CPU3 (4-way system):

{3} ok asr-disable cpu1 (V480)
 {3} ok asr-disable cpu3 (V480)
 {3} ok asr-disable cmp1 (V490)
 {3} ok asr-disable cmp3 (V490)
 
 {3} ok .asr (to check ASR Disablement Status)
 Component: Status
 
 CPU0/Memory: Enabled
 CPU1: Disabled
 Memory Bank0: Enabled
 Memory Bank1: Enabled
 Memory Bank2: Enabled
 Memory Bank3: Enabled
 CPU2/Memory: Enabled
 CPU3: Disabled
 Memory Bank0: Enabled
 Memory Bank1: Enabled
 Memory Bank2: Enabled
 Memory Bank3: Enabled
 IO-Bridge5: Enabled
 IO-Bridge8: Enabled
 IO-Bridge9: Enabled
 GPTwo Slots: Enabled
 Onboard FCAL: Enabled
 Onboard Net1: Enabled
 Onboard Net0: Enabled
 Onboard IDE: Enabled
 PCI Slots: Enabled
 
 {3} ok reset-all
 Resetting ... WARNING: Offlining/Disabling CPU1...and CPU3...Done.

 


To bring back CPU1 and CPU3 both CPU's need to be enabled (if only CPU1 is enabled, after reset-all the system will again offline (effectively disable) both CPU1 and CPU3):

ok asr-enable cpu1 (V480)
ok asr-enable cpu3 (V480)
ok asr-enable cmp1 (V490)
ok asr-enable cmp3 (v490)
ok reset-all
ok .asr (to check ASR Disablement Status) Component: Status CPU/Memory: Enabled IO-Bridge5: Enabled IO-Bridge8: Enabled IO-Bridge9: Enabled GPTwo Slots: Enabled Onboard FCAL: Enabled Onboard Net1: Enabled Onboard Net0: Enabled Onboard IDE: Enabled PCI Slots: Enabled ok .env (will still not display the status for CPU1 & CPU3)


After power-cycle both CPU's will be back on-line.

3.To disable and then enable the entire CPU module in Slot B (both CPU1 & CPU3) the following commands can be used as well:

{3} ok asr-disable gptwo-slotb
{3} ok .asr

ASR Disablement Status
Component: Status

CPU/Memory: Enabled
IO-Bridge5: Enabled
IO-Bridge8: Enabled
IO-Bridge9: Enabled
GPTwo Slot A: Enabled
GPTwo Slot B: Disabled
GPTwo Slot C: Enabled
Onboard FCAL: Enabled
Onboard Net1: Enabled
Onboard Net0: Enabled
Onboard IDE: Enabled
PCI Slots: Enabled

{3} ok reset-all
Resetting ...

WARNING: Offlining/Disabling CPU1...and CPU3...Done.



To bring back the cpu's in slot B use the command:

{0} ok asr-enable gptwo-slotb
{0} ok .asr
ASR Disablement Status
Component: Status

CPU/Memory: Enabled
IO-Bridge5: Enabled
IO-Bridge8: Enabled
IO-Bridge9: Enabled
GPTwo Slots: Enabled
Onboard FCAL: Enabled
Onboard Net1: Enabled
Onboard Net0: Enabled
Onboard IDE: Enabled
PCI Slots: Enabled



After a reset-all and power-cycle of the system the cpu's in slot B (cpu1 and cpu3) will be back online.


Documentations about ASR:
V480 Documentation    -    V490 Documentation
V480 Server Administration Guide /Chapter 10
V490 Server Administration Guide /Chapter 4

V880 Documentation    -     V890 Documentation
V880 Sun Fire 880 Server Owner's Guide /Chapter 6
V890 Sun Fire V890 Server Owner's Guide/ Chapter 6


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