Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 7 Aug 2008 12:26:20 -0400
From:      John Baldwin <jhb@freebsd.org>
To:        Hans Petter Selasky <hselasky@freebsd.org>
Cc:        Perforce Change Reviews <perforce@freebsd.org>
Subject:   Re: PERFORCE change 144415 for review
Message-ID:  <200808071226.20553.jhb@freebsd.org>
In-Reply-To: <200808071809.41042.hselasky@freebsd.org>
References:  <200807011103.m61B3x2b079270@repoman.freebsd.org> <200808071016.43108.jhb@freebsd.org> <200808071809.41042.hselasky@freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
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@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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200808071226.20553.jhb>