Patch Name: PHKL_25051 Patch Description: s700_800 11.04 (VVOS) cumulative pstat patch Creation Date: 01/10/03 Post Date: 01/11/15 Hardware Platforms - OS Releases: s700: 11.04 s800: 11.04 Products: N/A Filesets: OS-Core.CORE-KRN,fr=B.11.04,fa=HP-UX_B.11.04_32/64,v=HP ProgSupport.C-INC,fr=B.11.04,fa=HP-UX_B.11.04_32/64,v=HP 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: No Category Tags: defect_repair hardware_enablement enhancement general_release Path Name: /hp-ux_patches/s700_800/11.X/PHKL_25051 Symptoms: PHKL_25051: Ported HP-UX patch PHKL_22986 to VVOS Based on HP-UX patch PHKL_22986: ( SR:8606168994 CR:JAGad38272 ) pstat(2) system call does not provide sufficient information on processor activation and deactivation required by the OpenView product. As a result, the OpenView performance tools are currently not able to maintain accurate processor statistics in an environment where the instant processor activation or deactivation features are being utilized. This patch provides pstat(2) changes to support OpenView management of processor statistics related to instant processor activation and deactivation, such as used by the Instant Capacity On Demand (iCOD) product. Based on HP-UX patch PHKL_22588: ( SR: 165309203 DTS: JAGab25292 ) This is an enhancement to enable access to the POSIX message queues and named semaphores. This patch provides the kernel support; the commands patch PHCO_22592 provides the user interface. Based on HP-UX patch PHKL_22413: ( SR: 8606160396 CR: JAGad29718 ) When a processor is deallocated, pstat_getproc() or pstat_getlwp() may return a process or thread which shows that it is sleeping on the deallocated processor. PHKL_22844: Ported HP-UX patch PHKL_21684 to VVOS Based on HP-UX patch PHKL_21684: ( SR: 5003460949 DTS: JAGab15326 ) This is an enhancement for increasing the SysV IPC MSGMNB message queue capacity from a 16bit(ushort) limit to a 32bit(int) limit for re-compiled applications which are designed specifically to take advantage of this feature. The enhancement is contained in three patches; this one (providing pstat(2) support) plus PHKL_21518 (SysV IPC changes) and PHKL_21778 (new tunables range limits, used by SAM). PHKL_21518 must be installed for this patch to be enabled and it is strongly advised that all three patches be installed if this feature is desired. Without installing this patch and PHKL_21518, this change will have no impact on the system. Based on HP-UX patch PHKL_21700: ( SR: 8606127468 DTS: JAGac77753 ) The pstat_dynamic structure (pstat(2) pstat_getdynamic()) always returns the total processor number in psd_proc_cnt, which is incorrect when processors are deallocated. The calculation of values psd_avg_1_min, psd_avg_5_min, psd_avg_15_min and psd_cpu_time[] in pstat_dynamic structure (pstat(2) pstat_getdynamic()) are incorrect in the case where processors are deallocated. pstat_getlwp() (pstat(2)) returns array elements which includes threads that are not recognized by user. PHKL_21752: Ported HP-UX patch PHKL_20943 to VVOS Based on HP-UX patch PHKL_20943: ( SR: 8606112164 DTS: JAGab84450 ) Enhancement: Performance changes for corner case in RTSCHED scheduling. This patch has no impact on most systems. Based on HP-UX patch PHKL_19573: pstat_getlv() fails to get information on volumes in groups other than 0. Based on HP-UX patch PHKL_19186: The command 'fuser' takes a long time because it calls pstat_getprocvm(), where a lot of system time is spent calculating/gathering the variable-sized pages statistics. Defect Description: PHKL_25051: Ported HP-UX patch PHKL_22986 to VVOS Based on HP-UX patch PHKL_22986: ( SR:8606168994 CR:JAGad38272 ) Although instant processor activation and deactivation functionality already exists in HP-UX, information about processors in this environment, including processor logical id, activation and deactivation status, and interrupt flag, is currently unavailable from pstat(2). This information is needed by the OpenView performance tools to maintain accurate processor statistics. Resolution: Add psp_logical_id, psp_processor_state, and "PSP_INTERRUPT_ENABLED/PSP_INTERRUPT_DISABLED" psp_flags fields to the __pst_processor data structure. Based on HP-UX patch PHKL_22588: ( SR: 165309203 DTS: JAGab25292 ) Enhancement to provide kernel support for access to the information about POSIX message queues and named semaphores. The commands patch, PHCO_22592, must be installed to display the information about POSIX message queues and named semaphores as well as to remove POSIX message queues and named semaphores. Resolution: New functionality to retrieve information about POSIX message queues and named semaphores has been added to pstat(). After the patch is installed, kernel information about POSIX message queues and named semaphores can be accessed through the pstat() system call. Based on HP-UX patch PHKL_22413: ( SR: 8606160396 CR: JAGad29718 ) A kernel thread maintains information (kt_spt) which indicates the processor it was running on. If the processor is deallocated, this information is not changed until the thread actually wakes up. So pstat_getproc() or pstat_getlwp() can return the deallocated processor index if the thread is still sleeping. Resolution: If the thread's processor field (kt_spu) indicates a processor that is deallocated, pstat_getproc() and pstat_getlwp() will return the monarch processor index instead. (When the thread wakes up, it will be schedualed there.) PHKL_22844: Ported HP-UX patch PHKL_21684 to VVOS Based on HP-UX patch PHKL_21684: ( SR: 5003460949 DTS: JAGab15326 ) This is a companion patch to PHKL_21518 and PHKL_21778, which are designed to increase the SysV IPC MSGMNB message queue capacity from the 16bit(ushort) limit to a 32bit(int) maximum. This patch provides the pstat(2) enhancements to support this feature. Please see the PHKL_21518 documentation for details and installation notes. Installation of this patch without PHKL_21518 will not enable this feature and of no effect on the system. Note: installing PHKL_21518 (sysV_msg.o), but not this patch, means that applications compiled with the #define __BIGMSGQUEUE_ENABLED may not run or may not run correctly. Based on HP-UX patch PHKL_21700: ( SR: 8606127468 DTS: JAGac77753 ) pstat_dynamic is returning a psd_proc_cnt that is always the same as psd_max_proc_cnt. This should not be the case when processors have been deallocated because psd_proc_cnt is supposed to reflect the number of active processors. psd_avg_1_min, psd_avg_5_min, psd_avg_15_min and psd_cpu_time[] are based on the number of processors in the system instead of the number of active processors. pstat_getlwp incorrectly includes threads that are in state TSUNUSED and TSIDL. Customers will see threads that should not be exposed to their applications. Resolution: pstat_dynamic: psd_proc_cnt reflects the number of allocated processors instead of total number of processors installed on the system. This is done by checking the state of each processor before incrementing psd_proc_cnt. The following list of commands use psd_proc_cnt incorrectly: sadc, vmstat, iostat, top and uptime. If processors are deallocated after this patch is installed, these commands will display incorrect data in fields that are based on the psd_proc_cnt value (i.e. load average, active processors). Note: The system online diagnostics interface is the only application currently able to deallocate a processor (and is used to deallocate a processor that has detected LPMCs). This problem applies to processor "deactivation" thru HP-UX, not processor "deconfiguration" thru a BCH or OBP firmware prompt. The calculation of psd_avg_*_min and psd_cpu_time[] in pstat_dynamic the structure now excludes deallocated processors. pstat_getlwp: check that thread state is not in either of these two states before incrementing the count. PHKL_21752: Ported HP-UX patch PHKL_20943 to VVOS Based on HP-UX patch PHKL_20943: ( SR: 8606112164 DTS: JAGab84450 ) This is an enhancement for a corner case in RTSCHED scheduling. Resolution: Code added to fine tune RTSCHED thread scheduling code path. Based on HP-UX patch PHKL_19573: For most configurations, the searching code in pstat_getlv() was getting stuck in volume group 0. Resolution: Re-worked the searching code to look at all appropriate volume groups. Based on HP-UX patch PHKL_19186: To reproduce the problem, create a very large shared memory segment. Fork about 1000 children and have each child attach to it. Then reboot the machine and run 'fuser'. The defect itself can be described as a performance problem when running 'fuser' in the above scenario. The problem lies in the fact that pstat_getprocvm() takes a long time to calculate the variable-sized statistics. These statistics were gathered no matter what, since they are components of the pst_vm_status structure. Resolution: These variable-sized statistics will only be gathered if the application wishes to gather them. The application can exercise this option by requesting the right 'size' (an argument to the pstat system call) of information that it is requesting to be returned. For example, the pstat interface will only return the first 'n' bytes of info- mation when the 'size' argument is 'n'. Therefore, 'fuser' can provide a 'size' less than the offsets of these variable-sized fields in the pst_vm_status structure to skip the process of gathering these statistics. SR: 1653305326 1653309203 5003460949 8606100264 8606112164 8606127468 8606160396 8606168994 Patch Files: OS-Core.CORE-KRN,fr=B.11.04,fa=HP-UX_B.11.04_32/64,v=HP: /usr/conf/h/pstat.h ProgSupport.C-INC,fr=B.11.04,fa=HP-UX_B.11.04_32/64,v=HP: /usr/include/sys/pstat.h OS-Core.CORE2-KRN,fr=B.11.04,fa=HP-UX_B.11.04_32,v=HP: /usr/conf/lib/libhp-ux.a(pstat.o) OS-Core.CORE2-KRN,fr=B.11.04,fa=HP-UX_B.11.04_64,v=HP: /usr/conf/lib/libhp-ux.a(pstat.o) what(1) Output: OS-Core.CORE-KRN,fr=B.11.04,fa=HP-UX_B.11.04_32/64,v=HP: /usr/conf/h/pstat.h: pstat.h $Date: 2001/01/18 17:37:35 $Revision: r11ros /6 PATCH_11.00 (PHKL_22986) ProgSupport.C-INC,fr=B.11.04,fa=HP-UX_B.11.04_32/64,v=HP: /usr/include/sys/pstat.h: pstat.h $Date: 2001/01/18 17:37:35 $Revision: r11ros /6 PATCH_11.00 (PHKL_22986) OS-Core.CORE2-KRN,fr=B.11.04,fa=HP-UX_B.11.04_32,v=HP: /usr/conf/lib/libhp-ux.a(pstat.o): pstat_extensions.h $Date: 2000/10/28 15:14:03 $Revis ion: r11ros/2 PATCH_11.00 (PHKL_22588) $Source: kern/sys/pstat.c, hpuxsysproc, vvos_rose, r ose0247 $ $Date: 01/10/08 07:31:01 $ $Revisi on: 1.16.1.14 PATCH_11.04 (PHKL_25051) $ OS-Core.CORE2-KRN,fr=B.11.04,fa=HP-UX_B.11.04_64,v=HP: /usr/conf/lib/libhp-ux.a(pstat.o): $Source: kern/sys/pstat.c, hpuxsysproc, vvos_rose, r ose0247 $ $Date: 01/10/08 07:31:01 $ $Revisi on: 1.16.1.14 PATCH_11.04 (PHKL_25051) $ pstat_extensions.h $Date: 2000/10/28 15:14:03 $Revis ion: r11ros/2 PATCH_11.00 (PHKL_22588) cksum(1) Output: OS-Core.CORE-KRN,fr=B.11.04,fa=HP-UX_B.11.04_32/64,v=HP: 3191258173 83471 /usr/conf/h/pstat.h ProgSupport.C-INC,fr=B.11.04,fa=HP-UX_B.11.04_32/64,v=HP: 3191258173 83471 /usr/include/sys/pstat.h OS-Core.CORE2-KRN,fr=B.11.04,fa=HP-UX_B.11.04_32,v=HP: 1972049563 63488 /usr/conf/lib/libhp-ux.a(pstat.o) OS-Core.CORE2-KRN,fr=B.11.04,fa=HP-UX_B.11.04_64,v=HP: 567723600 127480 /usr/conf/lib/libhp-ux.a(pstat.o) Patch Conflicts: None Patch Dependencies: s700: 11.04: PHKL_19142 s800: 11.04: PHKL_19142 Hardware Dependencies: None Other Dependencies: s700: 11.04: PHKL_22798 PHKL_23069 s800: 11.04: PHKL_22798 PHKL_23069 PHKL_22844, PHKL_22798, PHKL_23069 together provide an enhancement to increase the SysV IPC MSGMNB message queue capacity. To enable the enhancement, both PHKL_22844 and PHKL_22798 must be installed, and PHKL_23069 is required if SAM support is desired to modify system tunables. Each may be installed independently of the others. Supersedes: PHKL_22844 PHKL_21752 Equivalent Patches: PHKL_22986: s700: 11.00 s800: 11.00 Patch Package Size: 400 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_25051 5. Run swinstall to install the patch: swinstall -x autoreboot=true -x patch_match_target=true \ -s /tmp/PHKL_25051.depot By default swinstall will archive the original software in /var/adm/sw/save/PHKL_25051. 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_25051.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_25051.text file is available in the product readme: swlist -l product -a readme -d @ /tmp/PHKL_25051.depot To put this patch on a magnetic tape and install from the tape drive, use the command: dd if=/tmp/PHKL_25051.depot of=/dev/rmt/0m bs=2k Special Installation Instructions: If you wish to display the information about POSIX message queues and named semaphores as well as to remove POSIX message queues and named semaphores, you must install the commands patch PHCO_22833, in addition to this patch. If you wish to enable the increased SysV IPC MSGMNB message queue capacity feature delivered in patches PHKL_22798, PHKL_22833 and PHKL_22844, it is highly recommended that all of the Special Installation Instructions for the PHKL_22798 (sysV_msg.o) patch be read prior to installing this patch. 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.