git: kernel - Fix buffer cache deadlock due to multiple buffer cache sizes

Matthew Dillon dillon at crater.dragonflybsd.org
Mon Mar 19 21:18:41 PDT 2012


commit eafcc44d1aa2909f37f755dafdddf285eae7a014
Author: Matthew Dillon <dillon at apollo.backplane.com>
Date:   Mon Mar 19 21:14:13 2012 -0700

    kernel - Fix buffer cache deadlock due to multiple buffer cache sizes
    
    * The buffer daemon was triggering off of dirtybufspace[hw], comparing
      it against bufspace.  However, bufspace is an aggregation of the
      total buffer kva reserved, not the dirty count based on b_bufsize.
    
    * Add dirtykvasize to track the dirty space in terms of the kva reservation
      and change the buffer daemons to use that instead.
    
    * systat and other displays still use the bufsize, which is a more
      accurate indicator for human consumption.

Summary of changes:
 sys/kern/kern_iosched.c |    4 ++--
 sys/kern/vfs_bio.c      |   38 +++++++++++++++++++++++---------------
 sys/sys/buf.h           |    4 ++--
 3 files changed, 27 insertions(+), 19 deletions(-)

http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/eafcc44d1aa2909f37f755dafdddf285eae7a014


-- 
DragonFly BSD source repository





More information about the Commits mailing list