Patch Name: PHKL_25032 Patch Description: s700_800 11.04 (VVOS) fix for large PT_MMAP pregions Creation Date: 01/08/29 Post Date: 01/09/10 Hardware Platforms - OS Releases: s700: 11.04 s800: 11.04 Products: N/A Filesets: OS-Core.CORE2-KRN,fr=B.11.04,fa=HP-UX_B.11.04_32,v=HP OS-Core.CORE2-KRN,fr=B.11.04,fa=HP-UX_B.11.04_64,v=HP Automatic Reboot?: Yes Status: General Release Critical: Yes PHKL_25032: HANG Category Tags: defect_repair general_release critical halts_system Path Name: /hp-ux_patches/s700_800/11.X/PHKL_25032 Symptoms: PHKL_25032: ported HP-UX Patch PHKL_22807 to VVOS Based upon PHKL_22807: ( SR:8606165948 CR:JAGad35235 ) fork() of processes with large PT_MMAP pregions takes excessively long. This can cause one processor to appear hung or if the system is a ServiceGuard node, it can result in a node TOC by cmcld with a stack trace similar to the one below: crash event was a TOC Send_Monarch_TOC+0x24 safety_time_check+0x150 per_spu_hardclock+0x350 clock_int+0x5f4 inttr_emulate_save_fpu+0x100 pdv_refget2_0+0x1d4 pdrefget2_0+0xa0 hdl_getbits+0x190 do_dupc+0x1e4 for_val2+0x2c0 for_val2+0x150 for_val2+0x150 foreach_chunk+0x3c dupreg+0x11c private_copy+0x60 dupvas+0x210 procdup+0x4c newproc+0x238 fork1+0x1dc fork+0x10 syscall+0x1c8 $syscallrtn+0x0 Defect Description: PHKL_25032: Ported HP-UX Patch PHKL_22807 to VVOS. Based upon PHKL_22807: ( SR:8606165948 CR:JAGad35235 ) The function do_dupc(), that is called during a fork() system call, attempts to determine if a page has been modified. Each superpage that exists in a process with large PT_MMAP pregions must have each of the 4K subpages it contains checked to determine the modified status of the entire superpage. This process of checking the status of each subpage of a superpage is time consuming. Resolution: The value of the modified status of the base page frame number of the superpage is saved and used as the modified status of the entire superpage. This eliminates the need to check the status of each subpage. SR: 8606165948 Patch Files: OS-Core.CORE2-KRN,fr=B.11.04,fa=HP-UX_B.11.04_32,v=HP: /usr/conf/lib/libhp-ux.a(vm_region.o) OS-Core.CORE2-KRN,fr=B.11.04,fa=HP-UX_B.11.04_64,v=HP: /usr/conf/lib/libhp-ux.a(vm_region.o) what(1) Output: OS-Core.CORE2-KRN,fr=B.11.04,fa=HP-UX_B.11.04_32,v=HP: /usr/conf/lib/libhp-ux.a(vm_region.o): vm_region.c $Date: 2000/11/22 12:25:50 $Revision: r1 1ros/4 PATCH_11.00 (PHKL_22807) OS-Core.CORE2-KRN,fr=B.11.04,fa=HP-UX_B.11.04_64,v=HP: /usr/conf/lib/libhp-ux.a(vm_region.o): vm_region.c $Date: 2000/11/22 12:25:50 $Revision: r1 1ros/4 PATCH_11.00 (PHKL_22807) cksum(1) Output: OS-Core.CORE2-KRN,fr=B.11.04,fa=HP-UX_B.11.04_32,v=HP: 374636060 9180 /usr/conf/lib/libhp-ux.a(vm_region.o) OS-Core.CORE2-KRN,fr=B.11.04,fa=HP-UX_B.11.04_64,v=HP: 657209871 17264 /usr/conf/lib/libhp-ux.a(vm_region.o) Patch Conflicts: None Patch Dependencies: s700: 11.04: PHKL_19142 s800: 11.04: PHKL_19142 Hardware Dependencies: None Other Dependencies: None Supersedes: None Equivalent Patches: None Patch Package Size: 60 KBytes Installation Instructions: Please review all instructions and the Hewlett-Packard SupportLine User Guide or your Hewlett-Packard support terms and conditions for precautions, scope of license, restrictions, and, limitation of liability and warranties, before installing this patch. ------------------------------------------------------------ 1. Back up your system before installing a patch. 2. Login as root. 3. Copy the patch to the /tmp directory. 4. Move to the /tmp directory and unshar the patch: cd /tmp sh PHKL_25032 5. Run swinstall to install the patch: swinstall -x autoreboot=true -x patch_match_target=true \ -s /tmp/PHKL_25032.depot By default swinstall will archive the original software in /var/adm/sw/save/PHKL_25032. If you do not wish to retain a copy of the original software, use the patch_save_files option: swinstall -x autoreboot=true -x patch_match_target=true \ -x patch_save_files=false -s /tmp/PHKL_25032.depot WARNING: If patch_save_files is false when a patch is installed, the patch cannot be deinstalled. Please be careful when using this feature. For future reference, the contents of the PHKL_25032.text file is available in the product readme: swlist -l product -a readme -d @ /tmp/PHKL_25032.depot To put this patch on a magnetic tape and install from the tape drive, use the command: dd if=/tmp/PHKL_25032.depot of=/dev/rmt/0m bs=2k Special Installation Instructions: This patch depends on base patch PHKL_19142 For successful installation please insure that PHKL_19142 is already installed, or that PHKL_19142 is included in the same depot with this patch and PHKL_19142 is selected for installation.