CAM locking question

Alexander Motin mav at FreeBSD.org
Tue Dec 13 23:05:44 UTC 2011


Hi.

 > As an experiment, I added CAM_SIM_LOCK/CAM_SIM_UNLOCK around the
 > TAILQ_INSERT_TAIL() in xpt_done(), and what was a reliable hang after
 > a minute or two hasn't shown up in an hour.

There is no assertion, but in all cases I remember xpt_done() called 
while holding SIM lock. Adding another CAM_SIM_LOCK/CAM_SIM_UNLOCK 
should cause lock recursion and panic, if kernel built with INVARIANTS.

-- 
Alexander Motin


More information about the freebsd-scsi mailing list