Patch Name: PHCO_23705 Patch Description: s700_800 11.00 memory windows cumulative patch Creation Date: 01/04/02 Post Date: 01/04/16 Hardware Platforms - OS Releases: s700: 11.00 s800: 11.00 Products: N/A Filesets: OS-Core.CMDS-AUX,fr=B.11.00,fa=HP-UX_B.11.00_32/64,v=HP OS-Core.ADMN-ENG-A-MAN,fr=B.11.00,fa=HP-UX_B.11.00_32/64,v=HP Automatic Reboot?: No Status: General Release Critical: No Category Tags: hardware_enablement enhancement general_release Path Name: /hp-ux_patches/s700_800/11.X/PHCO_23705 Symptoms: PHCO_23705: ( SR: 8606170411 CR: JAGad39675 ) 1. If the search argument to the command 'getmemwindow' is a substring of the name of a memory window (as defined in /etc/services.window), the corresponding window-id is incorrectly returned. ( SR: 8606134751 CR: JAGad03886 ) 2. Upon installation, PHCO_20443 overwrites the existing memory windows configuration file (/etc/services.window) with the default copy included in the patch. Applications which depend on the memory windows configuration could experience problems due to this loss. PHCO_20443: 1. When the customer uses "setmemwindow -f -n program", their programs will not assigned private memory windows, instead they will all be assigned the global memory window. 2. Setmemwindow returns '0' even when it could not set the requested memory before running a program. It should return the exit status code. 3. The new '-o' option will not be available. 4. The improved '-v' output will not be available. PHCO_16795: The patch is an enhancement to allow an end customer to create an environment where its possible to create the illusion of shared memory segment larger than 1 gigabyte in size. If the patch is not installed and the two quadrants (2 and 3) are treated as a single contiguous range, the application may core dump as the space ids are not the same between the two quadrants. PHCO_13811: The runtime commands to use memory windows are found in this patch. 32 bit applications are unable to run simultaneously because the total requirement for shared resources, such as shared memory, exceeds the system maximum of 1.75 gigabytes. HP-UX has a system wide limitation of 1.75 gigabytes of shared resources for SHARED_MAGIC executables, 2.75 gigabytes if applications are compiled as SHMEM_MAGIC. Applications cannot coexist at the same time if their shared resource requirements combine to exceed the system maximum. PHSS_14726: Man pages for memory windows, which were enabled via kernel patch PHKL_13810. Defect Description: PHCO_23705: ( SR: 8606170411 CR: JAGad39675 ) 1. The command 'getmemwindow' uses substring match instead of exact match while resolving memory window names to window-ids. If the search argument is a substring of the name of a memory window (as defined in /etc/services.window), the corresponding window-id is incorrectly returned. Resolution: 'getmemwindow' has now been changed to perform exact string match. 'getmemwindow' exits after finding the first matching record. ( SR: 8606134751 CR: JAGad03886 ) 2. PHCO_16795 and PHCO_20443 can remove a customized memory windows configuration file (/etc/services.window) upon installation. Both patches deliver a default copy of the configuration file, which may have been previously customized to associate applications with memory window ids. Such applications could experience problems due to the default configuration being utilized after the patches are installed. Resolution: Two scripts, 'preinstall' and 'postinstall', have been included in this patch. These get to run before and after the installation respectively. In 'preinstall', a check is made for the existence of the file '/etc/services.window'. If it does exist, it is copied into a temporary location. After the install process is over, 'postinstall' moves it back to its original location. This way, we avoid damaging an existing /etc/services.window during installation. PHCO_20443: 1. Added a missing 'break;' statement to ensure the case '-f' will not fall through down to a 'defaults' statement. 2. The return exit value is 0 on success, and a positive number on failure to reflect the exit status code. If the '-n' is not specified, the value returned is the exit status of the executed program. 3. The -o option was added to send the pid of the executed program to stdout. 4. The -v option was further improved to send out explicit standardized error message with errno. PHCO_16795: setmemwindow(1m) was enhanced to provide SHMEM_MAGIC executables the ability to treat contiguous shared memory segments in the 2nd/3rd as a single virtual range. This enhancement is only available on 64-bit kernels. SHMEM_MAGIC executables can place shared memory in the 2nd, 3rd and 4th quadrants. On 64-bit systems the 2nd and 3rd quadrants are not interrupted by other objects such as the system gateway page or kernel stacks. The two 1 Gigabyte segments in quadrant 2 and quadrant 3 are virtually contiguous. However, they cannot be treated as a single object because the space ids are different. The new option to setmemwindow (-b) allows a customer to configure a memory window where the space ids are equal and therefore the two segments can be viewed as a contiguous range of up to 2 Gigabytes. The two quadrants are not combined, only the space ids are made the same. PHCO_13811: The runtime commands to use memory windows are found in this patch. Memory windows is a functional change allowing 32 bit applications the ability to define unique memory windows where shared resources such as shared memory are created. Memory windows is only available for 32 bit processes. Default executables (SHARED_MAGIC) are defined such that shared resources occupy 1.75 gigabytes of the address space. With memory windows the application can define 1 gigabyte as a unique memory window where shared resources are created. Because the application defines its memory window, all other processes needing access to shared resources in that window, must join that window. Cooperating processes forming an application are able to create, access and modify shared resources in a unique memory window. Placing different applications in different windows allows the system to exceed the 1.75 gigabyte limitation. However, the individual 32 bit processes themselves are still limited to 1.75 gigabytes of shared resources. SHMEM_MAGIC executables can address 2.75 gigabytes of shared resources. The memory window for SHMEM_MAGIC is 2 gigabytes as opposed to 1 gigabyte for SHARED_MAGIC. This patch covers the runtime commands. To use memory windows the kernel patch must be installed first. PHSS_14726: Man pages for memory windows. SR:4701378315/DTS:DSDe441229 Memory windows for HP-UX 11.00 SR: 8606134751 8606170411 4701378315 8606109387 4701378315 Patch Files: OS-Core.CMDS-AUX,fr=B.11.00,fa=HP-UX_B.11.00_32/64,v=HP: /usr/bin/getmemwindow /usr/bin/setmemwindow /etc/services.window OS-Core.ADMN-ENG-A-MAN,fr=B.11.00,fa=HP-UX_B.11.00_32/64, v=HP: /usr/share/man/man1.Z/getmemwindow.1 /usr/share/man/man1.Z/setmemwindow.1 /usr/share/man/man4.Z/services.window.4 /usr/share/doc/mem_wndws.txt what(1) Output: OS-Core.CMDS-AUX,fr=B.11.00,fa=HP-UX_B.11.00_32/64,v=HP: /usr/bin/getmemwindow: None OS-Core.CMDS-AUX,fr=B.11.00,fa=HP-UX_B.11.00_32/64,v=HP: /usr/bin/setmemwindow: PHCO_20443 Nov. 1999 OS-Core.CMDS-AUX,fr=B.11.00,fa=HP-UX_B.11.00_32/64,v=HP: /etc/services.window: None OS-Core.ADMN-ENG-A-MAN,fr=B.11.00,fa=HP-UX_B.11.00_32/64, v=HP: /usr/share/man/man1.Z/setmemwindow.1: None OS-Core.ADMN-ENG-A-MAN,fr=B.11.00,fa=HP-UX_B.11.00_32/64, v=HP: /usr/share/man/man1.Z/getmemwindow.1: None OS-Core.ADMN-ENG-A-MAN,fr=B.11.00,fa=HP-UX_B.11.00_32/64, v=HP: /usr/share/man/man4.Z/services.window.4: None OS-Core.ADMN-ENG-A-MAN,fr=B.11.00,fa=HP-UX_B.11.00_32/64, v=HP: /usr/share/doc/mem_wndws.txt: None cksum(1) Output: OS-Core.CMDS-AUX,fr=B.11.00,fa=HP-UX_B.11.00_32/64,v=HP: 943707425 524 /usr/bin/getmemwindow OS-Core.CMDS-AUX,fr=B.11.00,fa=HP-UX_B.11.00_32/64,v=HP: 3252683088 16384 /usr/bin/setmemwindow OS-Core.CMDS-AUX,fr=B.11.00,fa=HP-UX_B.11.00_32/64,v=HP: 3735391856 592 /etc/services.window OS-Core.ADMN-ENG-A-MAN,fr=B.11.00,fa=HP-UX_B.11.00_32/64, v=HP: 3111722239 4876 /usr/share/man/man1.Z/setmemwindow.1 OS-Core.ADMN-ENG-A-MAN,fr=B.11.00,fa=HP-UX_B.11.00_32/64, v=HP: 3823735640 1120 /usr/share/man/man1.Z/getmemwindow.1 OS-Core.ADMN-ENG-A-MAN,fr=B.11.00,fa=HP-UX_B.11.00_32/64, v=HP: 2114272089 1655 /usr/share/man/man4.Z/services.window.4 OS-Core.ADMN-ENG-A-MAN,fr=B.11.00,fa=HP-UX_B.11.00_32/64, v=HP: 4011504416 22370 /usr/share/doc/mem_wndws.txt Patch Conflicts: None Patch Dependencies: s700: 11.00: PHKL_16236 s800: 11.00: PHKL_16236 Hardware Dependencies: None Other Dependencies: None Supersedes: PHSS_14726 PHCO_13811 PHCO_16795 PHCO_20443 Equivalent Patches: None Patch Package Size: 90 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 PHCO_23705 5. Run swinstall to install the patch: swinstall -x autoreboot=true -x patch_match_target=true \ -s /tmp/PHCO_23705.depot By default swinstall will archive the original software in /var/adm/sw/save/PHCO_23705. 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/PHCO_23705.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 PHCO_23705.text file is available in the product readme: swlist -l product -a readme -d @ /tmp/PHCO_23705.depot To put this patch on a magnetic tape and install from the tape drive, use the command: dd if=/tmp/PHCO_23705.depot of=/dev/rmt/0m bs=2k Special Installation Instructions: This patch supersedes PHCO_20443. If you have PHCO_20443 installed on your system, please DO NOT uninstall/remove it before installing this patch. If for some reason you can't avoid removing PHCO_20443, please make a backup of the file '/etc/services.window' before the uninstall and restore it prior to installing this patch.