cvs commit: src/sys/cam cam_xpt.c
Scott Long
scottl at FreeBSD.org
Wed Feb 9 11:44:15 GMT 2005
scottl 2005-02-09 11:44:15 UTC
FreeBSD src repository
Modified files:
sys/cam cam_xpt.c
Log:
Provide locking for the ccb_bioq. This allows xpt_done() to be called without
Giant held. In camisr(), move the ccb_bioq elements to a temporary local list
and then process the elements off of that list. This enables the list to be
processed by only taking the ccb_bioq_lock once and only for a very short
time.
ccb_bioq_lock is a leaf mutex, so it's fine to call xpt_done() with other
locks held. This is just a very minor step in the work to lock CAM, but
it allows us to avoid some messy locking/unlock dances in certain drivers.
Revision Changes Path
1.149 +22 -5 src/sys/cam/cam_xpt.c
More information about the cvs-src
mailing list