PERFORCE change 144415 for review

John Baldwin jhb at freebsd.org
Thu Aug 7 16:45:03 UTC 2008


On Thursday 07 August 2008 12:09:40 pm Hans Petter Selasky wrote:
> On Thursday 07 August 2008, John Baldwin wrote:
> > On Tuesday 01 July 2008 07:03:59 am Hans Petter Selasky wrote:
> > > http://perforce.freebsd.org/chv.cgi?CH=144415
> > >
> > > Change 144415 by hselasky at hselasky_laptop001 on 2008/07/01 11:03:31
> > >
> > >
> > > 	To allow USB drivers using the Giant mutex, like ukbd
> > > 	and the tty layer (ucom), condition variable functions
> > > 	like mtx_sleep() and cv_wait() needs to support the Giant
> > > 	mutex. Previously using the Giant mutex with these functions
> > > 	resulted in a panic due to an unlock race between the
> > > 	GIANT_DROP macro and the internal mutex unlock in the
> > > 	condition variable function. This patch will try to
> > > 	resolve that race.
> >
> > I'd rather that the sleep and condition variable code just explicitly
> > handle this case rather than changing DROP_GIANT().
> >
> 
> Hi,
> 
> I have implemented a set of wrappers for these functions that handle this.
> 
> See "src/sys/dev/usb2/core/usb2_util.h" in the USB P4 tree.
> 
> The files that were changed regarding this issue will not be integrated, 
> though they currently remain in the P4 repository.

Well, the tty stuff and CAM both need to use Giant in this way as well (CAM 
currently has a local hack in CAM).  I can just work on it though.

-- 
John Baldwin


More information about the p4-projects mailing list