Patch Name: PHKL_30234 Patch Description: s700_800 11.23 physio buffers to default, max procs panics Creation Date: 03/12/18 Post Date: 04/01/13 Hardware Platforms - OS Releases: s700: 11.23 s800: 11.23 Products: N/A Filesets: OS-Core.CORE2-KRN,fr=B.11.23,fa=HP-UX_B.11.23_IA,v=HP Automatic Reboot?: Yes Status: General Release Critical: Yes PHKL_30234: PANIC Category Tags: defect_repair general_release critical panic Path Name: /hp-ux_patches/s700_800/11.X/PHKL_30234 Symptoms: PHKL_30234: ( SR:8606334083 CR:JAGae95167 ) System panic when setting kernel tunable physical_io_buffers explicitly to the value of 0 when the tunable is already at the default (0). panic: post_hndlr(): Unresolved kernel interruption Stack Trace: IP Function Name 0xe0000000004f7ca0 post_hndlr+0xc20 0xe0000000004fb9c0 vm_hndlr+0x220 0xe000000001059bc0 bubbledown 0xe0000000005014d0 kmem_arena_free+0x130 0xe0000000011287e0 physio_resize_buflists+0x2e0 0xe000000001127b20 physical_io_buffers_commit+0x20 0xe00000000110e380 physical_io_buffers_handler+0xe0 0xe000000000e1d7c0 ken_invoke_handler+0x210 0xe000000000e215e0 _ken_byo_trigger_mevents+0x810 0xe000000000e20d90 _ken_trigger_multiple_events+0x30 0xe000000000e1d520 ken_trigger_multiple_events+0x40 0xe00000000103d1d0 ktune_validate_min_max+0x590 0xe00000000103ca80 settune_txn_version_1+0x1900 0xe0000000010386a0 settune+0xb40 0xe00000000103aa90 settune_txn+0x5d0 0xe0000000004ea4b0 syscall+0x940 End of Stack Trace. ( SR:8606329562 CR:JAGae90685 ) System panic when booting a system with the maximum number of processors supported by the kernel while setting up the physio subsystem buffer freelists. panic: assertion error Stack Trace: IP Function Name 0xe00000000126d840 assfail+0x70 0xe000000000a9ef20 USRRSESTK_LOW+0x80 0xe000000000a8a680 hdl_vfault+0x680 0xe00000000140da80 vfault+0x310 0xe0000000012b1e80 vm_hndlr+0x2a0 0xe0000000012b97a0 bubbledown 0xe0000000012c1270 sl_pre_check+0x70 0xe0000000012bf7a0 spinlock+0x50 0xe0000000013fc240 physio_allocate_and_add_bufs+0x240 0xe0000000013fccb0 physio_init_mp+0x240 0xe000000000fba260 im_physio_init_mp+0x40 0xe0000000013a9eb0 DoCalllist+0x3a0 End of Stack Trace Defect Description: PHKL_30234: ( SR:8606334083 CR:JAGae95167 ) The physical_io_buffers handler attempts to return memory which was never allocated when invoked for no-change operations. Resolution: The physical_io_buffers handler was modified to handle no-change operations properly. ( SR:8606329562 CR:JAGae90685 ) The physio freelists are organized in a table with a global list followed by per-processor lists. The locks controlling access to the per-processor lists are in a separate table without a global lock. So for cpu N, the freelist is in position N+1 and the lock is in position N. The physio initialization code was improperly using position N+1 for both tables, resulting in a reference beyond the valid table space for the lock tables for the last cpu within the table allocation. Since the lock table is allocated for the maximum number of processors which the kernel can handle, this was only encountered during advanced platform development. Resolution: The physio table reference was corrected to use the correct table position. Enhancement: No SR: 8606329562 8606334083 Patch Files: OS-Core.CORE2-KRN,fr=B.11.23,fa=HP-UX_B.11.23_IA,v=HP: /usr/conf/lib/libvm.a(physio.o) what(1) Output: OS-Core.CORE2-KRN,fr=B.11.23,fa=HP-UX_B.11.23_IA,v=HP: /usr/conf/lib/libvm.a(physio.o): physio.c $Date: 2003/12/17 12:43:22 $Revision: r11.2 3/1 PATCH_11.23 (PHKL_30234) cksum(1) Output: OS-Core.CORE2-KRN,fr=B.11.23,fa=HP-UX_B.11.23_IA,v=HP: 1244270866 51896 /usr/conf/lib/libvm.a(physio.o) Patch Conflicts: None Patch Dependencies: None Hardware Dependencies: None Other Dependencies: None Supersedes: None Equivalent Patches: None Patch Package Size: 40 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_30234 5. Run swinstall to install the patch: swinstall -x autoreboot=true -x patch_match_target=true \ -s /tmp/PHKL_30234.depot By default swinstall will archive the original software in /var/adm/sw/save/PHKL_30234. 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_30234.text file is available in the product readme: swlist -l product -a readme -d @ /tmp/PHKL_30234.depot To put this patch on a magnetic tape and install from the tape drive, use the command: dd if=/tmp/PHKL_30234.depot of=/dev/rmt/0m bs=2k Special Installation Instructions: None