ukbd locking update

Hans Petter Selasky hselasky at c2i.net
Tue Dec 20 16:44:53 UTC 2011


On Tuesday 20 December 2011 14:08:24 Andriy Gapon wrote:
> I completing a patch that changes some locking in ukbd to account for
> SCHEDULER_STOPPED and for other realities of the code.
> 
> As a preview I would like to share couple of observations that had their
> effect on the patch.
> 
> 1. Acquiring Giant in device_attach, _detach in similar newbus method
> implementations should be redundant because those are already executed with
> Giant held.  That's done either by the general newbus code or via
> usbd_enum_lock() when the operations are executed in the USB explore
> thread.
> 
> 2. As discussed before:
> if (!mutex_owned(&Giant))
> 	mutex_lock(&Giant)
> this pattern does not make sense, because the Giant is recursive and can be
> simply acquired without any check.
> 
> Do you agree?

Yes!

--HPS


More information about the freebsd-usb mailing list