diff options
author | alc <alc@FreeBSD.org> | 2003-09-19 05:03:45 +0000 |
---|---|---|
committer | alc <alc@FreeBSD.org> | 2003-09-19 05:03:45 +0000 |
commit | 757174bbed77fe17ef6e55e0404b18f4dee68f85 (patch) | |
tree | 22c08f5a68bd101f6c9beaa80c735573ab4ab3a7 /sys/vm/vm_pageout.c | |
parent | 52b3368d79ea61645b6f3476134b7517b560a346 (diff) | |
download | FreeBSD-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.c | 44 |
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 |