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