Table of Contents: dr-attach dr-detach dr-safe disabling dr Aborting dr On all domains at the opb prompt: ok> setenv-dr dr-max-mem=X (Where X is one for Solaris 2.6 or X is existing memory + plan mem for Solaris 2.5.1 only) # echo "set kernel_cage_enable=1" >> /etc/system (For Solaris 7and 8 only) # init 6 I. DR Attach (on SSP) 1. $DOMAIN_HOSTNAME% dr 2. dr> init_attach 6 3. dr> complete_attach 6 4. dr> drshow 6 IO 5. dr> exit 6. update i/o devices (drvconfig, etc) on Domain II. DR Detach 1. domain% dr 2. dr> drain 6 Wait until drain finishes with dr> drshow 6 MEM 3. dr> complete_detach 6 4. update i/o devices (drvconfig, etc.) III. dr safe set dr:detach_safe_list1="rdriver" set hswp:suspend_safe_list1="rdriver" V. Disabling dr # rm kernel_cage_enable entrie in /etc/system (Solaris 7 and 8) # init 0 ok> setenv-dr dr-max-mem 0 ok> reset VI. To abort atach or detach, simply type abort_atach instead of complete_atach abort_detach instad of complete_detach` ------------------------------------------------------------------------ Dynamic Reconfiguration: Debugging a DR Drain ------------------------------------------------------------------------ 1. Check/set the value of dr_mem_debug using adb. Debugging output is sent to the console. # adb -kw physmem 23af45 dr_mem_debug/D <-- check value dr_mem_debug: dr_mem_debug: 0 dr_mem_debug/W -1 <-- write value (if needed) dr_mem_debug: 0x0 = 0xffffffff 2. Capture the console output from the failing drain session. Pages that cannot be drained will be displayed on the console. hold_pfns: page not held: 1211e500 hold_pfns: page not held: 1211e540 hold_pfns: page not held: 1211fe80 hold_pfns: page not held: 12133c80 3. In adb, dump the page structure for a failing page. # adb -k 1211e500$