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>