Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 29 Aug 1997 10:55:28 -0500 (EST)
From:      "John S. Dyson" <toor@dyson.iquest.net>
To:        mikk0022@maroon.tc.umn.edu (Chris)
Cc:        toor@dyson.iquest.net, questions@FreeBSD.ORG
Subject:   Re: Problem using 'vn' device for swap
Message-ID:  <199708291555.KAA02114@dyson.iquest.net>
In-Reply-To: <Pine.SOL.3.96.970829104626.20350A-100000@maroon.tc.umn.edu> from Chris at "Aug 29, 97 10:49:35 am"

next in thread | previous in thread | raw e-mail | index | archive | help
Chris said:
> 
> 
> On Fri, 29 Aug 1997, John S. Dyson wrote:
> > > Aug 28 23:41:41 mercury /kernel: swap_pager_finish: I/O error, clean of page 67a000 failed
> > > Aug 28 23:41:42 mercury /kernel: swap_pager: I/O error - async pageout failed; blkno 408, size 8192, error 0
> > Did you create the file with:
> > 
> > dd if=/dev/zero of=swapfile count=xxx bs=yyy
> > 
> > or did you just use an empty 64MB file?
> 
> Oh, I just used an empty 64MB file.  I wasn't aware there was a
> difference.
> 
EEEK!!! there is.  Lemme 'splain :-).  There will be no file space allocation
during pageouts.  This was done to eliminate layers between the vn device
and the actual disk.  The problem is that there are serious resource starvation
issues.  Imagine the case where you are out of memory...  You might need to
allocated buffers to allocation more disk space then.  If there was only
one level of recursion, there would be no problem.  In the majority of the
time it works, however, there are cases where the kernel stack gets fried
because of overrun.  So, in order to fix that problem, and for efficiency, the
layers that provide the disk block allocation are bypassed.

-- 
John
dyson@freebsd.org
jdyson@nc.com



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