summaryrefslogtreecommitdiffstats
path: root/sys
diff options
context:
space:
mode:
authordillon <dillon@FreeBSD.org>1999-02-06 07:22:21 +0000
committerdillon <dillon@FreeBSD.org>1999-02-06 07:22:21 +0000
commit638895c10331fb601bb5f289b63cb69f1e731ca5 (patch)
tree512155bf7b2f57799dfa03c7d7896b5ea04a8139 /sys
parentca736467f9874f487b1a92fa843bd7d2f79ef100 (diff)
downloadFreeBSD-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.c14
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();
OpenPOWER on IntegriCloud