git: kernel - fix bug when issuing synchronous pageouts via contigmalloc.

Matthew Dillon dillon at crater.dragonflybsd.org
Tue Sep 15 12:21:47 PDT 2009


commit 8aa92e4b0821ec13857ac1de972838f7956a5ded
Author: Matthew Dillon <dillon at apollo.backplane.com>
Date:   Tue Sep 15 12:16:00 2009 -0700

    kernel - fix bug when issuing synchronous pageouts via contigmalloc.
    
    * There are multiple mis-checks in this code but the only path that
      causes the bug is if contigmalloc is forced to page data out, and
      that generally only occurs due to the USB subsystem.
    
    * The bug causes relpbuf() to be called with the wrong argument,
      ultimately causing the swap pbuf availability counter to hit 0 and
      stay there.
    
    * Fixes a umass insertion failure (the usb thread was locking up).

Summary of changes:
 sys/vm/swap_pager.c |   24 ++++++++++++++++++------
 1 files changed, 18 insertions(+), 6 deletions(-)

http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/8aa92e4b0821ec13857ac1de972838f7956a5ded


-- 
DragonFly BSD source repository





More information about the Commits mailing list