Patch Name: PHKL_30037 Patch Description: s700_800 11.11 RTE PSETs Enablement; FSS, pset perf;FSS cap Creation Date: 03/12/09 Post Date: 03/12/18 Hardware Platforms - OS Releases: s700: 11.11 s800: 11.11 Products: ProcessorSets A.01.00.00.06; Filesets: ProcessorSets.PSET-KRN,fr=A.01.00.00.06,fa=HP-UX_B.11.11_32,v=HP ProcessorSets.PSET-KRN,fr=A.01.00.00.06,fa=HP-UX_B.11.11_64,v=HP Automatic Reboot?: Yes Status: General Release Critical: No Category Tags: defect_repair enhancement general_release Path Name: /hp-ux_patches/s700_800/11.X/PHKL_30037 Symptoms: PHKL_30037: ( SR:8606314571 CR:JAGae77335 ) Certain workloads cannot achieve their entitlements with the Fair Share Scheduler (FSS) when capping is enabled. This results in a performance degradation for some workloads. PHKL_29709: ( SR:8606236816 CR:JAGae05866 ) The Processor Sets based systems show performance degradation when relatively idle. This problem is observed only when the optional Process Sets (PROCSETS) product is installed. ( SR:8606247911 CR:JAGae14311 ) A Process Resource Manager (PRM) and Fair Share Scheduler (FSS) group with a large entitlement and just enough jobs to get that share could be outperformed by a smaller entitlement group with more jobs. ( SR:8606316028 CR:JAGae78747 ) When Process Resource Manager (PRM) is enabled, certain workloads -- especially memory intensive workloads -- may show significant performance degradation on relatively idle systems. PHKL_26073: ( SR:8606230908 CR:JAGae00146 ) This change provides pre-enablement of the Real Time Extensions to the HP-UX Processor Sets (PROCSETS) product. This change will have no impact on your system until the Real Time Extensions are fully enabled. Defect Description: PHKL_30037: ( SR:8606314571 CR:JAGae77335 ) Existing algorithms of the fair-share scheduler (FSS) make some decisions which are inappropriate for some workloads when the capping feature of FSS is enabled. This causes processors to remain idle even when some FSS groups have not attained their entitlements. Resolution: The FSS balancer and thread selection algorithms have been modified where capping is enabled so that the processors do not inappropriately idle. This improves the ability of FSS groups to attain their entitlements when Processor Sets are installed. PHKL_29709: ( SR:8606236816 CR:JAGae05866 ) The Processor Sets functionality is consuming huge amounts of CPU cycles in the "idle" loop due to one heavy lock contention and cache misses. Resolution: Remove the lock contention introduced by Processor Sets in idle loop. ( SR:8606247911 CR:JAGae14311 ) Due to the way HP-UX round-robin jobs separately among the processors for each CPU, all groups start on the same CPU. That means on a 4 processor box, if a system has four groups each with 24% and one job, they all ended up sharing the same CPU. A fifth group with only 4% but lots of jobs would end up spread over all the CPUs, and take about 76% of the over all system cycles. Resolution: When distributing jobs on round-robin policy in processor set, the start position is different for each group, biggest first. ( SR:8606316028 CR:JAGae78747 ) When PRM is enabled, an extreme case of cache thrashing is observed due to the unnecessary constant update of a global volatile variable in the idle() path. This scenario causes heavy traffic on the system bus, greatly impacting overall system performance on relatively idle systems. The idle() path is seen in two different places, one is based kernel, and the other one is Processor Sets kernel. These two paths are independent to each other. Resolution: Remove the unnecessary update of the global volatile variable in the idle() path of Processor Sets when PRM is enabled. PHKL_26073: ( SR:8606230908 CR:JAGae00146 ) This change contains minor enhancements required to pre-enable the Real Time Extensions to the HP-UX Processor Sets product. Resolution: Enhance processor sets to support RTE PSETs. Enhancement: No (superseded patches contained enhancements) PHKL_29709: Enhancements were delivered in a patch this one has superseded. Please review the Defect Description text for more information. SR: 8606230908 8606236816 8606247911 8606314571 8606316028 Patch Files: ProcessorSets.PSET-KRN,fr=A.01.00.00.06,fa=HP-UX_B.11.11_32, v=HP: /usr/conf/lib/libpset.a(pm_pset_balance_epncf.o) /usr/conf/lib/libpset.a(pm_pset_binding_epncf.o) /usr/conf/lib/libpset.a(pm_pset_config_epncf.o) /usr/conf/lib/libpset.a(pm_pset_obj_epncf.o) /usr/conf/lib/libpset.a(pm_pset_query_epncf.o) /usr/conf/lib/libpset.a(pm_pset_rtsched_epncf.o) /usr/conf/lib/libpset.a(pm_pset_scall_epncf.o) /usr/conf/lib/libpset.a(pm_pset_schedcpu_epncf.o) /usr/conf/lib/libpset.a(pm_pset_spuctl_epncf.o) /usr/conf/lib/libpset.a(pm_pset_swtch_epncf.o) ProcessorSets.PSET-KRN,fr=A.01.00.00.06,fa=HP-UX_B.11.11_64, v=HP: /usr/conf/lib/libpset.a(pm_pset_balance_epncf.o) /usr/conf/lib/libpset.a(pm_pset_binding_epncf.o) /usr/conf/lib/libpset.a(pm_pset_config_epncf.o) /usr/conf/lib/libpset.a(pm_pset_obj_epncf.o) /usr/conf/lib/libpset.a(pm_pset_query_epncf.o) /usr/conf/lib/libpset.a(pm_pset_rtsched_epncf.o) /usr/conf/lib/libpset.a(pm_pset_scall_epncf.o) /usr/conf/lib/libpset.a(pm_pset_schedcpu_epncf.o) /usr/conf/lib/libpset.a(pm_pset_spuctl_epncf.o) /usr/conf/lib/libpset.a(pm_pset_swtch_epncf.o) what(1) Output: ProcessorSets.PSET-KRN,fr=A.01.00.00.06,fa=HP-UX_B.11.11_32, v=HP: /usr/conf/lib/libpset.a(pm_pset_balance_epncf.o): pm_pset_balance_epncf.c $Date: 2003/12/08 22:01:44 $ Revision: r11.11/5 PATCH_11.11 (PHKL_30037) /usr/conf/lib/libpset.a(pm_pset_binding_epncf.o): pm_pset_binding_epncf.c $Date: 2002/01/25 15:56:47 $ Revision: r11.11/2 PATCH_11.11 (PHKL_26073) /usr/conf/lib/libpset.a(pm_pset_config_epncf.o): pm_pset_config_epncf.c $Date: 2002/01/25 15:56:47 $R evision: r11.11/2 PATCH_11.11 (PHKL_26073) /usr/conf/lib/libpset.a(pm_pset_obj_epncf.o): pm_pset_obj_epncf.c $Date: 2003/12/08 22:01:44 $Revi sion: r11.11/4 PATCH_11.11 (PHKL_30037) /usr/conf/lib/libpset.a(pm_pset_query_epncf.o): pm_pset_query_epncf.c $Date: 2002/01/25 15:56:47 $Re vision: r11.11/2 PATCH_11.11 (PHKL_26073) /usr/conf/lib/libpset.a(pm_pset_rtsched_epncf.o): pm_pset_rtsched_epncf.c $Date: 2002/01/25 15:56:47 $ Revision: r11.11/2 PATCH_11.11 (PHKL_26073) /usr/conf/lib/libpset.a(pm_pset_scall_epncf.o): pm_pset_scall_epncf.c $Date: 2002/01/25 15:56:47 $Re vision: r11.11/2 PATCH_11.11 (PHKL_26073) /usr/conf/lib/libpset.a(pm_pset_schedcpu_epncf.o): pm_pset_schedcpu_epncf.c $Date: 2002/01/25 15:56:47 $Revision: r11.11/2 PATCH_11.11 (PHKL_26073) /usr/conf/lib/libpset.a(pm_pset_spuctl_epncf.o): pm_pset_spuctl_epncf.c $Date: 2002/01/25 15:56:47 $R evision: r11.11/2 PATCH_11.11 (PHKL_26073) /usr/conf/lib/libpset.a(pm_pset_swtch_epncf.o): pm_pset_swtch_epncf.c $Date: 2003/12/08 22:01:44 $Re vision: r11.11/5 PATCH_11.11 (PHKL_30037) ProcessorSets.PSET-KRN,fr=A.01.00.00.06,fa=HP-UX_B.11.11_64, v=HP: /usr/conf/lib/libpset.a(pm_pset_balance_epncf.o): pm_pset_balance_epncf.c $Date: 2003/12/08 22:01:44 $ Revision: r11.11/5 PATCH_11.11 (PHKL_30037) /usr/conf/lib/libpset.a(pm_pset_binding_epncf.o): pm_pset_binding_epncf.c $Date: 2002/01/25 15:56:47 $ Revision: r11.11/2 PATCH_11.11 (PHKL_26073) /usr/conf/lib/libpset.a(pm_pset_config_epncf.o): pm_pset_config_epncf.c $Date: 2002/01/25 15:56:47 $R evision: r11.11/2 PATCH_11.11 (PHKL_26073) /usr/conf/lib/libpset.a(pm_pset_obj_epncf.o): pm_pset_obj_epncf.c $Date: 2003/12/08 22:01:44 $Revi sion: r11.11/4 PATCH_11.11 (PHKL_30037) /usr/conf/lib/libpset.a(pm_pset_query_epncf.o): pm_pset_query_epncf.c $Date: 2002/01/25 15:56:47 $Re vision: r11.11/2 PATCH_11.11 (PHKL_26073) /usr/conf/lib/libpset.a(pm_pset_rtsched_epncf.o): pm_pset_rtsched_epncf.c $Date: 2002/01/25 15:56:47 $ Revision: r11.11/2 PATCH_11.11 (PHKL_26073) /usr/conf/lib/libpset.a(pm_pset_scall_epncf.o): pm_pset_scall_epncf.c $Date: 2002/01/25 15:56:47 $Re vision: r11.11/2 PATCH_11.11 (PHKL_26073) /usr/conf/lib/libpset.a(pm_pset_schedcpu_epncf.o): pm_pset_schedcpu_epncf.c $Date: 2002/01/25 15:56:47 $Revision: r11.11/2 PATCH_11.11 (PHKL_26073) /usr/conf/lib/libpset.a(pm_pset_spuctl_epncf.o): pm_pset_spuctl_epncf.c $Date: 2002/01/25 15:56:47 $R evision: r11.11/2 PATCH_11.11 (PHKL_26073) /usr/conf/lib/libpset.a(pm_pset_swtch_epncf.o): pm_pset_swtch_epncf.c $Date: 2003/12/08 22:01:44 $Re vision: r11.11/5 PATCH_11.11 (PHKL_30037) cksum(1) Output: ProcessorSets.PSET-KRN,fr=A.01.00.00.06,fa=HP-UX_B.11.11_32, v=HP: 2079021486 9236 /usr/conf/lib/ libpset.a(pm_pset_balance_epncf.o) 568490675 13764 /usr/conf/lib/ libpset.a(pm_pset_binding_epncf.o) 1877597126 7180 /usr/conf/lib/ libpset.a(pm_pset_config_epncf.o) 3567484790 13776 /usr/conf/lib/ libpset.a(pm_pset_obj_epncf.o) 2602912967 5212 /usr/conf/lib/ libpset.a(pm_pset_query_epncf.o) 3916103102 5712 /usr/conf/lib/ libpset.a(pm_pset_rtsched_epncf.o) 1347337515 19060 /usr/conf/lib/ libpset.a(pm_pset_scall_epncf.o) 440661110 7984 /usr/conf/lib/ libpset.a(pm_pset_schedcpu_epncf.o) 3169235090 5936 /usr/conf/lib/ libpset.a(pm_pset_spuctl_epncf.o) 467066762 7528 /usr/conf/lib/ libpset.a(pm_pset_swtch_epncf.o) ProcessorSets.PSET-KRN,fr=A.01.00.00.06,fa=HP-UX_B.11.11_64, v=HP: 1031947 19064 /usr/conf/lib/ libpset.a(pm_pset_balance_epncf.o) 1576809098 31016 /usr/conf/lib/ libpset.a(pm_pset_binding_epncf.o) 3629181283 16784 /usr/conf/lib/ libpset.a(pm_pset_config_epncf.o) 1772728417 34808 /usr/conf/lib/ libpset.a(pm_pset_obj_epncf.o) 2146785315 15336 /usr/conf/lib/ libpset.a(pm_pset_query_epncf.o) 3661491254 13992 /usr/conf/lib/ libpset.a(pm_pset_rtsched_epncf.o) 447948829 44032 /usr/conf/lib/ libpset.a(pm_pset_scall_epncf.o) 3199006668 17960 /usr/conf/lib/ libpset.a(pm_pset_schedcpu_epncf.o) 896602159 11960 /usr/conf/lib/ libpset.a(pm_pset_spuctl_epncf.o) 1555510603 14200 /usr/conf/lib/ libpset.a(pm_pset_swtch_epncf.o) Patch Conflicts: None Patch Dependencies: s700: 11.11: PHKL_30032 PHKL_30033 PHKL_30034 PHKL_30035 PHKL_30036 s800: 11.11: PHKL_30032 PHKL_30033 PHKL_30034 PHKL_30035 PHKL_30036 Hardware Dependencies: None Other Dependencies: None Supersedes: PHKL_29709 PHKL_26073 Equivalent Patches: None Patch Package Size: 170 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_30037 5. Run swinstall to install the patch: swinstall -x autoreboot=true -x patch_match_target=true \ -s /tmp/PHKL_30037.depot By default swinstall will archive the original software in /var/adm/sw/save/PHKL_30037. If you do not wish to retain a copy of the original software, include the patch_save_files option in the swinstall command above: -x patch_save_files=false 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_30037.text file is available in the product readme: swlist -l product -a readme -d @ /tmp/PHKL_30037.depot To put this patch on a magnetic tape and install from the tape drive, use the command: dd if=/tmp/PHKL_30037.depot of=/dev/rmt/0m bs=2k Special Installation Instructions: None