Patch-ID# 100614-11 Keywords: ipi cg6 prestoserve async mmap kernelmap nfs mount inode panic Synopsis: SunDBE 1.2; SunIDP 1.0; ODS 1.0: sun4m jumbo patch for watchdog reset Date: Jul/31/95 Solaris Release: SunOS release: 4.1.2 Unbundled Product: SunDBE, SunIDP, Online Disk Suite (ODS) Unbundled Release: 1.2, 1.0, 1.0 Topic: IPI - Galaxy jumbo patch BugId's fixed with this patch: 1077801 1080842 1063059 1075751 1077539 1083811 1074668 1077642 1077896 1093755 1096375 1091735 1096425 1097555 1099188 1115859 1116597 1119466 1108504 1078521 1103986 1115612 1074797 1090519 1172021 1176299 1177110 Changes incorporated in this version: 1090519 Architectures for which this patch is available: sun4 sun4m Patches which may conflict with this patch: 101021 ***************************** IMPORTANT ************************************* * * * This patch also contains support for IPI Dual Port (SunIDP). * * * * This patch also contains support for Online Disk Suite (ODS). If * * this unbundled package is installed, use machdep.o.ods_only when * * installing the patch. * * * * If ONLY SunIDP is installed, use the latest version of patch 100727.* * If neither SunDBE nor SunIDP is installed, use the latest patch * * 100542. * * * * * * ODS: This patch contains one module for use on ODS systems only. * * Module machdep.o.ods_only replaces machdep.o * * This module should be used only when running ODS. * * * * This patch should be installed ONLY on a system with SunDBE. * * * ***************************************************************************** Other patches this accumulates and obsoletes: Obsoleted by: Files included with this patch: README, machdep.o, mmu.o, vfs.o, vfs_bio.o Problem Description: This patch fixes several bugs in the IPI disk device driver, some of which manifest as apparent PrestoServe problems when IPI disks are being cached with PrestoServe. It also fixes rare cases when a panic can happen while shutting down a galaxy system. BugId 1177110 Summary: 690 MACHINE CRASHES IN FUIWORD() BugId 1176299 Summary: machine soft hangs in hat_ptblempty() BugId 1172021 Summary: UNIX diagnostics/iostat does not show correct information. It may be idp related. BugId 1090519 Summary: SUN4/690 PANIC'S WITH UNEXPECTED TRAP 65545 FAULT 4 BugId 1077801 On 4.1.2 FCS software with prestoserve added will fail with the following message when analyzing the disk using format or when booting from the disk. > is_poll_intr: resp for unknown cmd: channel 0 slave 0 facility 1 > IPI Response: > len e refnum 13 opcode 02 mod 00 stat 0018 > > addr len ID 1 2 3 4 5 6 7 8 9 a b c d e f 10 > 000a : 05 52 00 00 02 00 > > ipi 0: missing interrupt. refnum 4a > id000g: block 28238 (627590 abs): read: missing interrupt - attempting recovery > idc0: driver requesting controller dump > idc0: ctlr message: 'Did panic dump to drive 0 ' > is0: resetting slave > idc0: ctlr message: 'FW revision date = 4/18/91 , level = 50 ' > idc0: Recovery complete. Bugid 1080842 Summary: UNIX/IPI DISK READ SYSTEM CALL DOES NOT RETURN ERROR ON DRIVE FAULT Bugid 1063059 Summary: IPI DRIVER DOESN'T RETURN ERROR WHEN IT DIDN'T GET RESPONSE PACKET Bugid 1075751 Summary: "VME: Dropped Int-Ack cycle" messages Bugid 1077539 Summary: increase HEAPBYTES Bugid 1079876 Summary: fputest kvm_open failed Bugid 1077642 Summary: Kernel reports wrong SIMM location when ECC bits are in error themselves Bugid 1074668 Summary: Kernel panics when running sunvision 1.1 as superuser. Bugid 1093755 1096375 1091735 Revise the hard level 15 interrupt handler so that (a) it does not allow one cpu to turn off the SIR_ASYNCFLT before the other cpu(s) get into the hard level 15 interrupt code, (b) so that it handles asynchronous sbus writes to /dev/sbus[1-3] correctly, so that it handles asynchronous vme writes to /dev/vme16* and /dev/vme24* correctly. Also, update the trap handler not to barf on bus errors on data faults and timeouts and bus errors on text faults. And fix locore to handle soft level 15 interrupts before hard level 15 interrupts. Bugid 1096425 Summary: SunIDP - iostat statistics unavailable after multiple offline/online of IDP disks Bugid 1097555 Summary: kernel panics with kmem_free: block already free Bugid 1044625 Summary: ipi missing interrupt write retry failed hangs system. BugId: 1099188 Summary: Online Disk Suite - system running ods and mirroring swap partition hangs when the application allocating a lot of swap space. BugID: 1108504 Summary: SunIDP - dsd goes into disk wait (STATE D) and hangs indefinitely. BugID: 1077801 Summary: SunDBE - system panic with kmem_free: free block overlap. Bugid 1115859 Summary: The IPI Driver cannot reset controller during failure with 64 outstanding I/O's. Bugid 1116597 Summary: sun4/sun4m 4.1.3 systems text fault panic on GENERIC kernel while conducting two simultaneous ipi formats while tar'ing to another ipi disk on same controller. Bugid 1119466 Summary: "IPI driver unreliable" fixes. 1071797 During panic, when "syncing file systems ...", the machine continuously "BAD TRAP"s until it "WATCHDOG RESET"s. L1-A is ineffective. BugID 1118195 panic: ifree: freeing free inode.(side effect) BugID 1078521 panic: dup ialloc BugID 1106986 panic: umount on exported filesys BugID 1115612 panic: alloccgblk: can't find blk in cyl occured during LADDIS Benchmark run (sun4m only) Install Instructions: AS ROOT: 1. Save a copy of the files to be patched: Common SunDBE files: mv /sys/`arch -k`/OBJ/locore.o /sys/`arch -k`/OBJ/locore.o.fcs mv /sys/`arch -k`/OBJ/ufs_vfsops.o /sys/`arch -k`/OBJ/ufs_vfsops.o.fcs mv /sys/`arch -k`/OBJ/vfs.o /sys/`arch -k`/OBJ/vfs.o.fcs mv /sys/`arch -k`/OBJ/id.o /sys/`arch -k`/OBJ/id.o.fcs mv /sys/`arch -k`/OBJ/is.o /sys/`arch -k`/OBJ/is.o.fcs mv /sys/`arch -k`/OBJ/ipi.o /sys/`arch -k`/OBJ/ipi.o.fcs mv /sys/`arch -k`/OBJ/machdep.o /sys/`arch -k`/OBJ/machdep.o.fcs mv /sys/`arch -k`/OBJ/vm_machdep.o /sys/`arch -k`/OBJ/vm_machdep.o.fcs mv /sys/sundev/ipi_error.h /sys/sundev/ipi_error.h.fcs mv /sys/sundev/mbvar.h /sys/sundev/mbvar.h.fcs On system running Online Disk Suite Unbundled Product: mv /sys/`arch -k`/OBJ/md.o /sys/`arch -k`/OBJ/md.o.fcs On sun4m systems ONLY: mv /sys/sun4m/OBJ/vfs_bio.o /sys/`arch -k`/OBJ/vfs_bio.o.fcs mv /sys/sun4m/OBJ/mmu.o /sys/`arch -k`/OBJ/mmu.o.fcs mv /sys/sun4m/OBJ/ufs_alloc.o /sys/`arch -k`/OBJ/ufs_alloc.o.fcs mv /sys/sun4m/OBJ/mem.o /sys/sun4m/OBJ/mem.o.fcs mv /sys/sun4m/OBJ/module_ross_asm.o /sys/sun4m/OBJ/module_ross_asm.o.fcs mv /sys/sun4m/OBJ/module_asm.o /sys/sun4m/OBJ/module_asm.o.fcs mv /sys/sun4m/OBJ/kern_exec.o /sys/sun4m/OBJ/kern_exec.o.fcs mv /sys/sun4m/OBJ/kern_fork.o /sys/sun4m/OBJ/kern_fork.o.fcs mv /sys/sun4m/OBJ/kern_synch.o /sys/sun4m/OBJ/kern_synch.o.fcs mv /sys/sun4m/OBJ/trap.o /sys/sun4m/OBJ/trap.o.fcs mv /sys/sun4m/async.h /sys/sun4m/async.h.fcs mv /sys/sun4m/pcb.h /sys/sun4m/pcb.h.fcs mv /sys/sys/buf.h /sys/sys/buf.h.fcs mv /sys/sundev/ipi3.h /sys/sundev/ipi3.h.fcs If SunIDP is installed: mv /sys/sun4m/OBJ/is_conf.o /sys/sun4m/OBJ/is_conf.o.fcs 2. Install the new files: Common SunDBE files: cp `arch -k`/locore.o /sys/`arch -k`/OBJ cp `arch -k`/vm_machdep.o /sys/`arch -k`/OBJ cp `arch -k`/ufs_vfsops.o /sys/`arch -k`/OBJ cp `arch -k`/vfs.o /sys/`arch -k`/OBJ cp ipi_error.h /sys/sundev/ipi_error.h cp ipi_error.h /usr/include/sundev/ipi_error.h cp mbvar.h /sys/sundev/mbvar.h cp mbvar.h /usr/include/sundev/mbvar.h If SunIDP is installed: cp `arch -k`/id.idp.o /sys/`arch -k`/OBJ/id.o cp `arch -k`/is.idp.o /sys/`arch -k`/OBJ/is.o cp `arch -k`/ipi.idp.o /sys/`arch -k`/OBJ/ipi.o If SunIDP is *NOT* installed: cp `arch -k`/id.o /sys/`arch -k`/OBJ cp `arch -k`/is.o /sys/`arch -k`/OBJ cp `arch -k`/ipi.o /sys/`arch -k`/OBJ If Online Disk Suite (ODS) is installed: cp `arch -k`/machdep.o.ods_only /sys/`arch -k`/OBJ/machdep.o cp `arch -k`/md.o.ods_only /sys/`arch -k`/OBJ/md.o If Online Disk Suite (ODS) is *NOT* installed: cp `arch -k`/machdep.o /sys/`arch -k`/OBJ/machdep.o On sun4m systems ONLY: cp sun4m/mem.o /sys/sun4m/OBJ cp sun4m/module_ross_asm.o /sys/sun4m/OBJ cp sun4m/module_asm.o /sys/sun4m/OBJ cp sun4m/kern_exec.o /sys/sun4m/OBJ cp sun4m/kern_fork.o /sys/sun4m/OBJ cp sun4m/kern_synch.o /sys/sun4m/OBJ cp sun4m/mmu.o /sys/sun4m/OBJ cp sun4m/ufs_alloc.o /sys/sun4m/OBJ cp sun4m/vfs_bio.o /sys/sun4m/OBJ cp sun4m/trap.o /sys/sun4m/OBJ cp sun4m/async.h /sys/sun4m cp sun4m/pcb.h /sys/sun4m cp sun4m/buf.h /sys/sys If SunIDP is installed: cp sun4m/is_conf.idp.o /sys/sun4m/OBJ/is_conf.o cp sun4m/ipi3.idp.h /sys/sundev/ipi3.h If SunIDP is *NOT* installed: cp sun4m/ipi3.h /sys/sundev/ipi3.h 3. Rebuild your kernel, install it and reboot the machine Refer to the System Administration Manual for information about building and booting new kernels.