git: dsched_fq - Overhaul locking

Alex Hornung alexh at crater.dragonflybsd.org
Sat Apr 17 03:57:01 PDT 2010


commit aedbaf3ba5edf2f3c33496c3c542c8333943bca7
Author: Alex Hornung <ahornung at gmail.com>
Date:   Sat Apr 17 09:51:27 2010 +0000

    dsched_fq - Overhaul locking
    
    * use lockmgr lock for FQP lock, as some strategy ops can sleep while
      acquiring another lock (CAM SIM lock, for example).
    
    * reduce overall locking when it isn't really required, mainly during
      deallocation (losing last ref) of objects. The locking is only
      explicitly required to protect the internal TAILQs.
    
    * NOTE: this is an _attempt_ to fix some unidentified deadlocks that have
      been reported occasionally. While it shouldn't happen, be aware that
      this might explode.
    
    Reported-by: Antonio Huete, Jan Lentfer

Summary of changes:
 sys/dsched/fq/dsched_fq.h      |   22 ++++++++++++++--------
 sys/dsched/fq/dsched_fq_core.c |   17 ++++-------------
 2 files changed, 18 insertions(+), 21 deletions(-)

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


-- 
DragonFly BSD source repository





More information about the Commits mailing list