summaryrefslogtreecommitdiffstats
path: root/sys/vm/vm_page.c
diff options
context:
space:
mode:
authorpeter <peter@FreeBSD.org>2001-08-25 05:00:44 +0000
committerpeter <peter@FreeBSD.org>2001-08-25 05:00:44 +0000
commite0dbc46fb066671b526f2bfe05114aaae8540f57 (patch)
tree30d8ac9ee393436acad614d834851f9727908232 /sys/vm/vm_page.c
parent5fa2d1a53c8236e25576bf22824b1f6a93d837fa (diff)
downloadFreeBSD-src-e0dbc46fb066671b526f2bfe05114aaae8540f57.zip
FreeBSD-src-e0dbc46fb066671b526f2bfe05114aaae8540f57.tar.gz
Implement idle zeroing of pages. I've been tinkering with this
on and off since John Dyson left his work-in-progress. It is off by default for now. sysctl vm.zeroidle_enable=1 to turn it on. There are some hacks here to deal with the present lack of preemption - we yield after doing a small number of pages since we wont preempt otherwise. This is basically Matt's algorithm [with hysteresis] with an idle process to call it in a similar way it used to be called from the idle loop. I cleaned up the includes a fair bit here too.
Diffstat (limited to 'sys/vm/vm_page.c')
-rw-r--r--sys/vm/vm_page.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/sys/vm/vm_page.c b/sys/vm/vm_page.c
index 5ea1f55..61d821f 100644
--- a/sys/vm/vm_page.c
+++ b/sys/vm/vm_page.c
@@ -477,6 +477,7 @@ vm_page_free(vm_page_t m)
{
vm_page_flag_clear(m, PG_ZERO);
vm_page_free_toq(m);
+ vm_page_zero_idle_wakeup();
}
/*
OpenPOWER on IntegriCloud