kernel - Add vm_page_need_commit() and vm_page_clear_commit()
authorMatthew Dillon <dillon@apollo.backplane.com>
Wed, 1 Feb 2012 04:41:57 +0000 (20:41 -0800)
committerMatthew Dillon <dillon@apollo.backplane.com>
Thu, 9 Feb 2012 03:27:27 +0000 (19:27 -0800)
commit3df0509c475eb0ce3da5b44bf7d7c5394abcfaa0
tree0c844a0d339ae63b65d6e3fe9f600c2019ba1efa
parent7ab26241a9129d73605c7fad365769264ed06366
kernel - Add vm_page_need_commit() and vm_page_clear_commit()

* Add vm_page_need_commit() and vm_page_clear_commit().  This controls the
  PG_NEED_COMMIT flag on individual VM pages.

  When set a clean VM page cannot be reused and is still subject to
  flushing by the pageout daemon.

* Refactor buwrite() to use the new mechanism instead of dirtying the
  pages underlying the buffer.

* This allows the normal page and buffer flushing mechanism to operate
  even in situations where the VM page is also the nominal backing store
  for the data (as in tmpfs).

* Will be used by tmpfs.
sys/kern/uipc_syscalls.c
sys/kern/vfs_bio.c
sys/vm/vm_contig.c
sys/vm/vm_fault.c
sys/vm/vm_object.c
sys/vm/vm_page.c
sys/vm/vm_page.h
sys/vm/vm_pageout.c
sys/vm/vnode_pager.c