[prev in list] [next in list] [prev in thread] [next in thread] 

List:       freebsd-stable
Subject:    Re: >2GB Bugs still exist in FreeBSD 4.9 ?
From:       Gerrit Nagelhout <gnagelhout () sandvine ! com>
Date:       2004-02-24 20:31:05
Message-ID: FE045D4D9F7AED4CBFF1B3B813C85337021AB1DD () mail ! sandvine ! com
[Download RAW message or body]

I think this problem happens when the kernel_map runs out of memory.  The
actual crash happens because in vfs_subr.c around line 704, if zalloc
returns NULL, the bzero will cause that trap:

simple_unlock(&vnode_free_list_slock);
vp = (struct vnode *) zalloc(vnode_zone);
bzero((char *) vp, sizeof *vp);  ******************
simple_lock_init(&vp->v_interlock);
vp->v_dd = vp;
cache_purge(vp);
LIST_INIT(&vp->v_cache_src);
TAILQ_INIT(&vp->v_cache_dst);
numvnodes++;


The size of the kernel memory region can be configured, and is typically
around 1GB.  The more RAM is present in the system, the more of this will be
used up by various data structures that are tuned differently depending how
much RAM is present.  I think there are a few more places where running out
of kernel memory will cause similar problems.  Most of these places don't
seem trivial to fix, and the only solution I have come up with (so far) is
to tune the kernel differently to leave more memory available.

Gerrit
_______________________________________________
freebsd-stable@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-stable
To unsubscribe, send any mail to "freebsd-stable-unsubscribe@freebsd.org"
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic