Subject: Re: Experiences with 2.0beta?
To: None <port-sparc@netbsd.org>
From: Christos Zoulas <christos@zoulas.com>
List: port-sparc
Date: 05/05/2004 00:12:50
In article <Pine.GSU.4.44.0405041033470.22004-100000@azu>,
Christian Corti <corti@informatik.uni-stuttgart.de> wrote:
>Hauke Fath <hauke@espresso.rhein-neckar.de> wrote:
>> Since the machine has produced quite a few crashes, I've made a list on
>> http://la.causeuse.org/hauke/NetBSD/netbsd-2-0-experience/ -- what are
>> others' experiences with the to-be-2.0? Stability? Anybody having more
>> success with bridge(4) than me?
>
>I have a very similar configuration here. A SS10/MP with 320MB RAM, hme
>Fast-Ethernet and Fast-Wide SBus-Card (isp) (both unused) and a ST15150N
>as single drive, with 512 MB swap space. I've started with a current
>kernel 2.0C that caused a total freeze nearly once a day, the error each
>time was "unable to allocate scsipi_xfer" and "unable to allocate ecb". I
>then switched to 2.0D that seemed to solve this issue but showed another
>one: after some time I got frequent "sbrk: grow ... failed, error 12". Now
>I'm at 2.0E that hasn't produced this error yet, but instead I got
>"virtual memory exhausted" during compilation, and no network daemons
>would work anymore (no sshd, no smtpd, even if restarted). And I had the
>same problems from 2.0C again. So I think the memory management code must
>be broken in some way.
>If the machine freezes it says "syncing disks..." on the console and
>that's it. I have to go into the monitor with Stop-A and say reset, sync
>won't work after a crash. The machine is only running as a mail server
>based on postfix (currently 2.0.19) from pkgsrc.
>

I know what the problem is with MP systems and memory exhaustion (I think).
Try the following patch:

Index: kern_resource.c
===================================================================
RCS file: /cvsroot/src/sys/kern/kern_resource.c,v
retrieving revision 1.82
diff -u -u -r1.82 kern_resource.c
--- kern_resource.c	1 May 2004 06:17:26 -0000	1.82
+++ kern_resource.c	5 May 2004 00:12:03 -0000
@@ -949,6 +949,7 @@
 int
 chgsbsize(uid_t uid, u_long *hiwat, u_long to, rlim_t max)
 {
+#ifdef notyet
 	struct uidinfo *uip;
 	rlim_t nsb;
 	int rv = 0;
@@ -966,4 +967,8 @@
 	if (uip->ui_sbsize == 0 && uip->ui_proccnt == 0)
 		freeuidinfo(uip);
 	return rv;
+#else
+	*hiwat = to;
+	return 1;
+#endif
 }