Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 7 Oct 2002 15:35:30 +1000 (EST)
From:      Bruce Evans <bde@zeta.org.au>
To:        Mikhail Teterin <mi+celsius@aldan.algebra.com>
Cc:        n0g0013 <ttz@blahdeblah.demon.co.uk>, <current@FreeBSD.ORG>
Subject:   Re: panic: kmem_malloc(4096): kmem_map too small
Message-ID:  <20021007151049.U27957-100000@gamplex.bde.org>
In-Reply-To: <200210070041.01468.mi%2Bcelsius@aldan.algebra.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Mon, 7 Oct 2002, Mikhail Teterin wrote:

> No... With today's kernel, machine has already _frozen_ after swappager
> complained about lack of swap. Rather sad -- a not so uncommon installation
> with 128Mb of memory plus twice that much of swap would still have less
> virtual memory than this box, which seems to be suffering because all its
> memory is real...
>
> BTW, what happened to the NO_SWAPPING kernel option?

Nothing.  I always use it, and it just works.  Note that it only
disables swapping (of UPAGES) and has little effect on paging to swap,
and was never intended to.  This is is documented very clearly in cvs
history and very unclearly in NOTES:

%%%
RCS file: /home/ncvs/src/sys/vm/vm_glue.c,v
Working file: vm_glue.c
head: 1.157
...
----------------------------
revision 1.39
date: 1996/02/22 10:57:36;  author: davidg;  state: Exp;  lines: +4 -3
Add a "NO_SWAPPING" option to disable swapping. This was originally done
to help diagnose a problem on wcarchive (where the kernel stack was
sometimes not present), but is useful in its own right since swapping
actually reduces performance on some systems (such as wcarchive).
Note: swapping in this context means making the U pages pageable and has
nothing to do with generic VM paging, which is unaffected by this option.

Reviewed by:	 <dyson>
----------------------------

NOTES:
...
#
# Disable swapping. This option removes all code which actually performs
# swapping, so it's not possible to turn it back on at run-time.
#
# This is sometimes usable for systems which don't have any swap space
# (see also sysctls "vm.defer_swapspace_pageouts" and
# "vm.disable_swapspace_pageouts")
#
#!options 	NO_SWAPPING
%%%

I doubt that swapping is useful for many systems that are newer than
the commit that added NO_SWAPPING.  If there aren't many processes
then swapping doesn't do much, and if there are a lot of processes (as
on wcarchive), then you don't want to swap.  The memory for the UPAGES
of wcarchive's 1500 (?) processes was a whole 12MB.  Much larger number
of processes are common now, but memories are larger too.  Work is
under weigh (sic) to bloat the number of UPAGES (including kernel stack
pages) and the number of processes (there are almost 100 in the kernel
alone now), but hopefully it won't progress as fast as memories grow.

Bruce


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-current" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20021007151049.U27957-100000>