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>