Patch-ID# 100330-06 Keywords: system hang, kernelmap, mbuf, ie ethernet, misaligned frames, SS2 crash Synopsis: SunOS 4.1.1: kernelmap causing system hangs or running out of mbuf Date: 28/Oct/92 SunOS release: 4.1.1 Unbundled Product: Unbundled Release: Topic: Jumbo Patch for the system hang problems due to kernelmap, running out of mbufs (100126), along with SS2 crash with screen going blank (100232), and other problems of ie driver (100570) such as misalgined frames, lost interrupt net jammmed messages on the sun4 platform and kernel panic iesynccmd. This patch includes patches 100126, 100570, 100232. NOTE: You will still need the patch 100126 for OS versions other than 4.1.1. NOTE: This patch conflicts with Sun DBE 1.1. If you are using DBE 1.1, request patch 100447. BugId's fixed with this patch: 1051983 1057929 1056992 1033551 1032572 1032818 1041811 1047083 1050558 1054014 1039326 1085043 1052879 Changes incorporated in this version: Fixes a problem with the way the last version was built. No new bugfixes added. Architectures for which this patch is available: sun4, sun4c Patches which may conflict with this patch: 100232 100570 100768 Obsoleted by: 4.1.2 with patch 100516 and 100570 Problem Description: Bug ID 1051983: The buffer cache gets smaller if a kernel gets larger due to a large number of maxusers or being configured with many device drivers. Bug ID 1057929: Large servers can hang with busy file systems. This is especially true if the system has high amount of physical memory and PrestoServe. Bug ID 1056992: Servers with high levels of NFS activity or that run large VM applications may hang. ps shows nfsds and other processes waiting on kernelmap. BUGID: 1033551 1032572 1039734 1032818 1041811 1047083 The mbuf is a system resource which can be run out. So it shouldn't really be a bug. However, this patch provides work around for it. It would certainly be nice if we can make MBUF size user configurable. Bug ID 1050558: This is the bug fixed by patch 100232, making this patch a superset of patch 100232. Thus 100232 should not be installed after installing this patch. Large applications that run fine under SunOS 4.1.1 on the SS-1/SS-1+ and other sun4 machines, crash the SS-2 machine running SunOS 4.1.1. The symptoms are: screen goes black cpu light goes out L1-A does not work user typically has to power the machine off and restart machine again watchdog reset The fix for the following 4 bugs are integrated together into one patch: 100570. Since this patch is a superset of 100570. 100570 should not be installed after installing this patch. BugID 1054014: Confirmed that the 4/490 was sending out misaligned frames. A network sniffer will show at the DLC layer that the "bad" packets are misaligned frames. BugID 1052879: Adding and removing Multicast addresses to the ie interface can sometimes generate the above panic. BugID 1039326: Under heavy system load the following message appears "ie0: lost interrupt resetting" and the driver resets this could be a result of the interrupt not actually being lost. BugID 1085043: When machines using Intel 82586 Ethernet controllers (eg, sun4/1XX, sun4/2XX and sun4/4XX) are on the same subnet as those machines using AMD 7990 Ethernet controllers (eg, SS1, SS2, and galaxy), the former lose the contention from time to time and print out "ie0: net jammed" messages. Users usually worry about this. INSTALL FOR SUN4 : ******NOTE********* 1. If you have installed the old kernelmap patch (100330-01) it MUST be de-installed first. The README for the old patch is included at the end of this file to de-install accordingly. As root: mv /sys/sun4/OBJ/heap_kmem.o /sys/sun4/OBJ/heap_kmem.o.sav mv /sys/sun4/OBJ/if_ie.o /sys/sun4/OBJ/if_ie.o.sav mv /sys/sun4/OBJ/ie_conf.o /sys/sun4/OBJ/ie_conf.o.sav mv /sys/sun4/OBJ/if_le.o /sys/sun4/OBJ/if_le.o.sav mv /sys/sun4/OBJ/machdep.o /sys/sun4/OBJ/machdep.o.sav mv /sys/sun4/OBJ/locore.o /sys/sun4/OBJ/locore.o.sav mv /sys/sun4/OBJ/ufs_machdep.o /sys/sun4/OBJ/ufs_machdep.o.sav mv /sys/sun4/OBJ/uipc_mbuf.o /sys/sun4/OBJ/uipc_mbuf.o.sav mv /sys/sun4/OBJ/vm_machdep.o /sys/sun4/OBJ/vm_machdep.o.sav mv /sys/sunif/ie_conf.c /sys/sunif/ie_conf.c.sav mv /sys/sunif/if_ievar.h /sys/sunif/if_ievar.h.sav mv /usr/kvm/libkvm.a /usr/kvm/libkvm.a.sav mv /usr/kvm/libkvm.so.0.3 /usr/kvm/libkvm.so.0.3.sav mv /usr/kvm/libkvm_p.a /usr/kvm/libkvm_p.a.sav cp sun4/heap_kmem.o /sys/sun4/OBJ cp sun4/if_le.o /sys/sun4/OBJ cp sun4/machdep.o /sys/sun4/OBJ cp sun4/vm_machdep.o /sys/sun4/OBJ cp sun4/if_ie.o /sys/sun4/OBJ cp sun4/ie_conf.o /sys/sun4/OBJ cp sun4/locore.o /sys/sun4/OBJ cp sun4/ufs_machdep.o /sys/sun4/OBJ cp sun4/uipc_mbuf.o /sys/sun4/OBJ cp sun4/ie_conf.c /sys/sunif cp sun4/if_ievar.h /sys/sunif cp sun4/libkvm.a /usr/kvm cp sun4/libkvm.so.0.3 /usr/kvm cp sun4/libkvm_p.a /usr/kvm INSTALL FOR SUN4c: ****** IMPORTANT ****** if you have installed 4c kernelmap beta patch (previously provided) on your 4c machines it MUST be deinstalled before installing this patch. mv /sys/sun4c/OBJ/heap_kmem.o /sys/sun4c/OBJ/heap_kmem.o.sav mv /sys/sun4c/OBJ/if_le.o /sys/sun4c/OBJ/if_le.o.sav mv /sys/sun4c/OBJ/machdep.o /sys/sun4c/OBJ/machdep.o.sav mv /sys/sun4c/OBJ/locore.o /sys/sun4c/OBJ/locore.o.sav mv /sys/sun4c/OBJ/ufs_machdep.o /sys/sun4c/OBJ/ufs_machdep.o.sav mv /sys/sun4c/OBJ/uipc_mbuf.o /sys/sun4c/OBJ/uipc_mbuf.o.sav mv /sys/sun4c/OBJ/vm_machdep.o /sys/sun4c/OBJ/vm_machdep.o.sav mv /usr/kvm/libkvm.a /usr/kvm/libkvm.a.sav mv /usr/kvm/libkvm.so.0.3 /usr/kvm/libkvm.so.0.3.sav mv /usr/kvm/libkvm_p.a /usr/kvm/libkvm_p.a.sav cp sun4c/heap_kmem.o /sys/sun4c/OBJ cp sun4c/if_le.o /sys/sun4c/OBJ cp sun4c/machdep.o /sys/sun4c/OBJ cp sun4c/vm_machdep.o /sys/sun4c/OBJ cp sun4c/locore.o /sys/sun4c/OBJ cp sun4c/ufs_machdep.o /sys/sun4c/OBJ cp sun4c/uipc_mbuf.o /sys/sun4c/OBJ cp sun4c/libkvm.a /usr/kvm cp sun4c/libkvm.so.0.3 /usr/kvm cp sun4c/libkvm_p.a /usr/kvm Rebuild the new kernel. Please refer to the system and networking administration manual for details on building and installing a new kernel. *************************************************************** READ ME FOR THE OLD KERNELMAP PATCH - ID 100330-01. THIS IS PROVIDED HERE TO HELP YOU DE-INSTALL IT ACCORDINGLY. PLS DE-INSTALL THE FILES PLACED BY THIS PATCH AND BRING THE ORIGINALLY SAVED FILES BACK. THIS IS THE README FOR SUN4. ***************************************************************** PATCH ID 100330-01 README Keywords: system hang, memory leak, kernelmap fragmentation >Synopsis: SunOS 4.1.1: System hang problems in 4.1.1 Date: 10-July-91 21-Aug-91 Note: New patch release for this problem is in process please wait until that patch is available. (rev -02) SunOS release: 4.1.1 Unbundled Product: Unbundled Release: Topic: Jumbo Patch for the system hang problems. BugId's fixed with this patch: 1042435 1057929 1056992 Architectures for which this patch is available: sun4 Patches which may conflict with this patch: 100126 100232 Obsoleted by: SunOS 5.0 Problem Description: Bug ID 1042435: Directory name link caching can take a long time on busy file systems appearing as though the server is hung. Bug ID 1057929: Large servers can hang with busy file systems. This is especially true if the system has high amount of physical memory and PrestoServe. Bug ID 1056992: Servers with high levels of NFS activity or that run large VM applications may hang. ps shows nfsds and other processes waiting on kernelmap. INSTALL: ******NOTE********* 1. If you have the PrestoServe driver in your system, IT IS CRUCIAL THAT THE KERNEL CONFIG FILE LISTS THE PRESTOSERVE DRIVER BEFORE THE NC400 DRIVERS. 2. MAKE SURE THAT YOU ARE USING THE CORRECT PATCH. If you have a PrestoServe driver in your system, use the sun4/presto patch. Otherwise, use the sun4/nonpresto patch. As root: mv /sys/sun4/OBJ/vfs_dnlc.o /sys/sun4/OBJ/vfs_dnlc.o.FCS mv /sys/sun4/OBJ/kern_exec.o /sys/sun4/OBJ/kern_exec.o.FCS mv /sys/sun4/OBJ/machdep.o /sys/sun4/OBJ/machdep.o.FCS mv /sys/sun4/OBJ/locore.o /sys/sun4/OBJ/locore.o.FCS mv /sys/sun4/OBJ/autoconf.o /sys/sun4/OBJ/autoconf.o.FCS mv /sys/sun4/OBJ/heap_kmem.o /sys/sun4/OBJ/heap_kmem.o.FCS cp sun4/{presto,nonpresto}/heap_kmem.o /sys/sun4/OBJ/heap_kmem.o cp sun4/{presto,nonpresto}/kern_exec.o /sys/sun4/OBJ/kern_exec.o cp sun4/{presto,nonpresto}/machdep.o /sys/sun4/OBJ/machdep.o cp sun4/{presto,nonpresto}/locore.o /sys/sun4/OBJ/locore.o cp sun4/{presto,nonpresto}/autoconf.o /sys/sun4/OBJ/autoconf.o cp sun4/{presto,nonpresto}/vfs_dnlc.o /sys/sun4/OBJ/vfs_dnlc.o Rebuild the new kernel. Please refer to the system and networking administration manual for details on building and installing a new kernel