kernel - zero pages during idle
authorMatthew Dillon <dillon@apollo.backplane.com>
Sun, 16 May 2010 17:46:35 +0000 (10:46 -0700)
committerMatthew Dillon <dillon@apollo.backplane.com>
Sun, 16 May 2010 17:46:35 +0000 (10:46 -0700)
commitbb6811be56a9f299d28f69b6d6bf7233e1e7359a
tree02681c3817e6e6cec72544afd4b13b5c3adf1f0c
parent3b6e5cb0b23512dbdf6515d8982f3048cba107cc
kernel - zero pages during idle

Bring in base work by Venkatesh Srinivas:

* vm/vm_zeropage.c and bzeront() code.

Plus make the following adjustments:

* Move the bzeront code from platform/ to cpu/ and add a x86_64 version
  of bzeront().

* Expose the page zeroing rate via sysctl and adjust the default upwards.

* Expose the movnti feature via sysctl (defaults to off).

* Change poll interval from 1 second to 1/10 second.

* Correct a bug where the MP lock was not being initially released.  The
  thread is created with the MP lock held.  This was causing the hysteresis
  check to fail.

* Correct a bug where vm_page_zero_count was being double-incremented
  due to changes in how the zerod page is freed.

* Clean up the code syntax a bit.

Submitted-by: Venkatesh Srinivas <me@endeavour.zapto.org>
12 files changed:
sys/conf/files
sys/cpu/i386/misc/bzeront.s [new file with mode: 0644]
sys/cpu/x86_64/misc/bzeront.s [new file with mode: 0644]
sys/platform/pc32/conf/files
sys/platform/pc64/conf/files
sys/platform/vkernel/conf/files
sys/platform/vkernel64/conf/files
sys/sys/systm.h
sys/sys/thread.h
sys/vm/vm_page.c
sys/vm/vm_page.h
sys/vm/vm_zeroidle.c [new file with mode: 0644]