summaryrefslogtreecommitdiffstats
path: root/sys/vm/vm_pageout.c
diff options
context:
space:
mode:
authoralc <alc@FreeBSD.org>2003-09-19 05:03:45 +0000
committeralc <alc@FreeBSD.org>2003-09-19 05:03:45 +0000
commit757174bbed77fe17ef6e55e0404b18f4dee68f85 (patch)
tree22c08f5a68bd101f6c9beaa80c735573ab4ab3a7 /sys/vm/vm_pageout.c
parent52b3368d79ea61645b6f3476134b7517b560a346 (diff)
downloadFreeBSD-src-757174bbed77fe17ef6e55e0404b18f4dee68f85.zip
FreeBSD-src-757174bbed77fe17ef6e55e0404b18f4dee68f85.tar.gz
Merge vm_pageout_free_page_calc() into vm_pageout(), eliminating some
unneeded code.
Diffstat (limited to 'sys/vm/vm_pageout.c')
-rw-r--r--sys/vm/vm_pageout.c44
1 files changed, 18 insertions, 26 deletions
diff --git a/sys/vm/vm_pageout.c b/sys/vm/vm_pageout.c
index 4da592e..f0de2c2 100644
--- a/sys/vm/vm_pageout.c
+++ b/sys/vm/vm_pageout.c
@@ -114,7 +114,7 @@ static int vm_pageout_clean(vm_page_t);
static void vm_pageout_page_free(vm_page_t);
static void vm_pageout_pmap_collect(void);
static void vm_pageout_scan(int pass);
-static int vm_pageout_free_page_calc(vm_size_t count);
+
struct proc *pageproc;
static struct kproc_desc page_kp = {
@@ -1350,30 +1350,6 @@ vm_pageout_page_stats()
splx(s0);
}
-static int
-vm_pageout_free_page_calc(count)
-vm_size_t count;
-{
- if (count < cnt.v_page_count)
- return 0;
- /*
- * free_reserved needs to include enough for the largest swap pager
- * structures plus enough for any pv_entry structs when paging.
- */
- if (cnt.v_page_count > 1024)
- cnt.v_free_min = 4 + (cnt.v_page_count - 1024) / 200;
- else
- cnt.v_free_min = 4;
- cnt.v_pageout_free_min = (2*MAXBSIZE)/PAGE_SIZE +
- cnt.v_interrupt_free_min;
- cnt.v_free_reserved = vm_pageout_page_count +
- cnt.v_pageout_free_min + (count / 768) + PQ_L2_SIZE;
- cnt.v_free_severe = cnt.v_free_min / 2;
- cnt.v_free_min += cnt.v_free_reserved;
- cnt.v_free_severe += cnt.v_free_reserved;
- return 1;
-}
-
/*
* vm_pageout is the high level pageout daemon.
*/
@@ -1391,7 +1367,23 @@ vm_pageout()
if (cnt.v_page_count < 2000)
vm_pageout_page_count = 8;
- vm_pageout_free_page_calc(cnt.v_page_count);
+ /*
+ * v_free_reserved needs to include enough for the largest
+ * swap pager structures plus enough for any pv_entry structs
+ * when paging.
+ */
+ if (cnt.v_page_count > 1024)
+ cnt.v_free_min = 4 + (cnt.v_page_count - 1024) / 200;
+ else
+ cnt.v_free_min = 4;
+ cnt.v_pageout_free_min = (2*MAXBSIZE)/PAGE_SIZE +
+ cnt.v_interrupt_free_min;
+ cnt.v_free_reserved = vm_pageout_page_count +
+ cnt.v_pageout_free_min + (cnt.v_page_count / 768) + PQ_L2_SIZE;
+ cnt.v_free_severe = cnt.v_free_min / 2;
+ cnt.v_free_min += cnt.v_free_reserved;
+ cnt.v_free_severe += cnt.v_free_reserved;
+
/*
* v_free_target and v_cache_min control pageout hysteresis. Note
* that these are more a measure of the VM cache queue hysteresis
OpenPOWER on IntegriCloud