git: kernel - Attempt to workaround low memory deadlock

Matthew Dillon dillon at crater.dragonflybsd.org
Fri Nov 4 10:55:56 PDT 2011


commit a639987cfd9a73c6bd718cb16c704e11d0e7ae42
Author: Matthew Dillon <dillon at apollo.backplane.com>
Date:   Fri Nov 4 10:52:33 2011 -0700

    kernel - Attempt to workaround low memory deadlock
    
    * Mark the hammer flusher threads as system threads and call
      vm_wait_nominal() in the inode flush loop prior to acquiring
      an inode lock.
    
    * This attempts to work around an issue where the pageout daemon has
      to do a BMAP indirectly via vnode_pager_put_pages(), which requires
      a dive into hammer deep enough to need the inode lock.
    
      The pageout daemon checks the vnode lock but has no visibility into
      the inode lock.  Only the hammer backend (theoretically) can acquire
      the inode lock without holding the vnode lock.  Hopefully this will
      improve the issue.
    
    Reported-by: Antonio Huete Jimenez <tuxillo at quantumachine.net>

Summary of changes:
 sys/vfs/hammer/hammer_flusher.c |    5 +++--
 1 files changed, 3 insertions(+), 2 deletions(-)

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


-- 
DragonFly BSD source repository





More information about the Commits mailing list