diff options
author | dillon <dillon@FreeBSD.org> | 1999-02-06 07:22:21 +0000 |
---|---|---|
committer | dillon <dillon@FreeBSD.org> | 1999-02-06 07:22:21 +0000 |
commit | 638895c10331fb601bb5f289b63cb69f1e731ca5 (patch) | |
tree | 512155bf7b2f57799dfa03c7d7896b5ea04a8139 /sys | |
parent | ca736467f9874f487b1a92fa843bd7d2f79ef100 (diff) | |
download | FreeBSD-src-638895c10331fb601bb5f289b63cb69f1e731ca5.zip FreeBSD-src-638895c10331fb601bb5f289b63cb69f1e731ca5.tar.gz |
Add hysteresis to the 'swap_pager_getswapspace; failed' console message.
Also widen the hysteresis levels a little ( these really should be
dynamically configured ).
Diffstat (limited to 'sys')
-rw-r--r-- | sys/vm/swap_pager.c | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/sys/vm/swap_pager.c b/sys/vm/swap_pager.c index 4e01473..e3bfb87 100644 --- a/sys/vm/swap_pager.c +++ b/sys/vm/swap_pager.c @@ -64,7 +64,7 @@ * * @(#)swap_pager.c 8.9 (Berkeley) 3/21/94 * - * $Id: swap_pager.c,v 1.111 1999/01/24 06:04:51 dillon Exp $ + * $Id: swap_pager.c,v 1.112 1999/01/27 18:19:52 dillon Exp $ */ #include <sys/param.h> @@ -166,7 +166,7 @@ struct pagerops swappagerops = { int dmmax; static int dmmax_mask; int nswap_lowat = 128; /* in pages, swap_pager_full warning */ -int nswap_hiwat = 256; /* in pages, swap_pager_full warning */ +int nswap_hiwat = 512; /* in pages, swap_pager_full warning */ static __inline void swp_sizecheck __P((void)); static void swp_pager_sync_iodone __P((struct buf *bp)); @@ -203,9 +203,10 @@ static __inline void swp_sizecheck() { if (vm_swap_size < nswap_lowat) { - if (swap_pager_full == 0) + if (swap_pager_full == 0) { printf("swap_pager: out of swap space\n"); - swap_pager_full = 1; + swap_pager_full = 1; + } } else if (vm_swap_size > nswap_hiwat) { swap_pager_full = 0; } @@ -443,7 +444,10 @@ swp_pager_getswapspace(npages) daddr_t blk; if ((blk = blist_alloc(swapblist, npages)) == SWAPBLK_NONE) { - printf("swap_pager_getswapspace: failed\n"); + if (swap_pager_full != 2) { + printf("swap_pager_getswapspace: failed\n"); + swap_pager_full = 2; + } } else { vm_swap_size -= npages; swp_sizecheck(); |