diff options
author | peter <peter@FreeBSD.org> | 2001-08-25 05:00:44 +0000 |
---|---|---|
committer | peter <peter@FreeBSD.org> | 2001-08-25 05:00:44 +0000 |
commit | e0dbc46fb066671b526f2bfe05114aaae8540f57 (patch) | |
tree | 30d8ac9ee393436acad614d834851f9727908232 /sys/vm/vm_page.c | |
parent | 5fa2d1a53c8236e25576bf22824b1f6a93d837fa (diff) | |
download | FreeBSD-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.c | 1 |
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(); } /* |