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

git: kernel - Fix spinlock held on switch


From: Matthew Dillon <dillon@xxxxxxxxxxxxxxxxxxxxxxx>
Date: Sat, 6 Nov 2010 10:33:50 -0700 (PDT)

commit 8bbb2fba43dfa487685677b4a83d34de08775925
Author: Matthew Dillon <dillon@apollo.backplane.com>
Date:   Sat Nov 6 10:29:46 2010 -0700

    kernel - Fix spinlock held on switch
    
    * flushbufqueues() was holding bufqspin through a buffer cache callback,
      causing a kernel panic if the callback winds up blocking.  This only
      effected UFS not HAMMER).
    
    * Release the spinlock a little earlier so it isn't held around the callback.
    
    * Make a minor semantics change to bio_track_wait() to deal with potential
      compiler optimizations messing up the cmpxchg loop.
    
    Reported-by: "goetz@net-amp.com" <goetz@net-amp.com>

Summary of changes:
 sys/kern/vfs_bio.c |    9 ++++++---
 1 files changed, 6 insertions(+), 3 deletions(-)

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


-- 
DragonFly BSD source repository



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