DragonFly BSD
DragonFly commits List (threaded) for 2012-01
[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]

git: kernel - Add vm_page_need_commit() and vm_page_clear_commit()


From: Matthew Dillon <dillon@xxxxxxxxxxxxxxxxxxxxxxx>
Date: Tue, 31 Jan 2012 20:57:52 -0800 (PST)

commit 9bf025db03b34510639b4e18981ab794dce39764
Author: Matthew Dillon <dillon@apollo.backplane.com>
Date:   Tue Jan 31 20:41:57 2012 -0800

    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.

Summary of changes:
 sys/kern/uipc_syscalls.c |    4 ++-
 sys/kern/vfs_bio.c       |   18 ++++++++++----
 sys/vm/vm_contig.c       |   15 ++++++-----
 sys/vm/vm_fault.c        |    3 +-
 sys/vm/vm_object.c       |   16 ++++++++-----
 sys/vm/vm_page.c         |   56 +++++++++++++++++++++++++++++++++------------
 sys/vm/vm_page.h         |    3 ++
 sys/vm/vm_pageout.c      |   13 ++++++----
 sys/vm/vnode_pager.c     |    2 +-
 9 files changed, 89 insertions(+), 41 deletions(-)

http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/9bf025db03b34510639b4e18981ab794dce39764


-- 
DragonFly BSD source repository



[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]