git: dsched_fq - Overhaul locking

Alex Hornung alexh at
Sat Apr 17 03:57:01 PDT 2010

commit aedbaf3ba5edf2f3c33496c3c542c8333943bca7
Author: Alex Hornung <ahornung at>
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(-)

DragonFly BSD source repository

More information about the Commits mailing list