From owner-freebsd-hackers@FreeBSD.ORG Thu Jan 4 11:43:30 2007 Return-Path: X-Original-To: freebsd-hackers@freebsd.org Delivered-To: freebsd-hackers@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id DC4C316A403 for ; Thu, 4 Jan 2007 11:43:30 +0000 (UTC) (envelope-from eugen@www.svzserv.kemerovo.su) Received: from www.svzserv.kemerovo.su (www.svzserv.kemerovo.su [213.184.65.80]) by mx1.freebsd.org (Postfix) with ESMTP id 46E3813C45B for ; Thu, 4 Jan 2007 11:43:30 +0000 (UTC) (envelope-from eugen@www.svzserv.kemerovo.su) Received: from www.svzserv.kemerovo.su (eugen@localhost [127.0.0.1]) by www.svzserv.kemerovo.su (8.13.8/8.13.8) with ESMTP id l04BhSd2084132; Thu, 4 Jan 2007 18:43:28 +0700 (KRAT) (envelope-from eugen@www.svzserv.kemerovo.su) Received: (from eugen@localhost) by www.svzserv.kemerovo.su (8.13.8/8.13.8/Submit) id l04BhRF6084131; Thu, 4 Jan 2007 18:43:27 +0700 (KRAT) (envelope-from eugen) Date: Thu, 4 Jan 2007 18:43:27 +0700 From: Eugene Grosbein To: Kostik Belousov Message-ID: <20070104114327.GA81011@svzserv.kemerovo.su> References: <20070103141820.GA1014@grosbein.pp.ru> <200701031601.05541.jhb@freebsd.org> <20070104040727.GD21325@deviant.kiev.zoral.com.ua> <20070104103708.GF21325@deviant.kiev.zoral.com.ua> <20070104105208.GA78979@svzserv.kemerovo.su> <20070104110208.GG21325@deviant.kiev.zoral.com.ua> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20070104110208.GG21325@deviant.kiev.zoral.com.ua> User-Agent: Mutt/1.4.2.1i X-Mailman-Approved-At: Thu, 04 Jan 2007 12:25:42 +0000 Cc: freebsd-hackers@freebsd.org Subject: Re: WITNESS & RELENG_6 X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 04 Jan 2007 11:43:30 -0000 On Thu, Jan 04, 2007 at 01:02:08PM +0200, Kostik Belousov wrote: > Hmm, it needs 1.198 as well. Below is aggregated patch against RELENG_6. > > Index: kern_conf.c > =================================================================== > RCS file: /usr/local/arch/ncvs/src/sys/kern/kern_conf.c,v > retrieving revision 1.186.2.7 > diff -u -r1.186.2.7 kern_conf.c > --- kern_conf.c 30 Oct 2006 15:43:56 -0000 1.186.2.7 > +++ kern_conf.c 4 Jan 2007 10:59:33 -0000 > @@ -676,16 +676,20 @@ > dev->si_flags &= ~SI_CLONELIST; > } > > + dev->si_refcount++; /* Avoid race with dev_rel() */ > csw = dev->si_devsw; > dev->si_devsw = NULL; /* already NULL for SI_ALIAS */ > while (csw != NULL && csw->d_purge != NULL && dev->si_threadcount) { > - printf("Purging %lu threads from %s\n", > - dev->si_threadcount, devtoname(dev)); > csw->d_purge(dev); > msleep(csw, &devmtx, PRIBIO, "devprg", hz/10); > + if (dev->si_threadcount) > + printf("Still %lu threads in %s\n", > + dev->si_threadcount, devtoname(dev)); > + } > + while (dev->si_threadcount != 0) { > + /* Use unique dummy wait ident */ > + msleep(&csw, &devmtx, PRIBIO, "devdrn", hz / 10); > } > - if (csw != NULL && csw->d_purge != NULL) > - printf("All threads purged from %s\n", devtoname(dev)); > > dev->si_drv1 = 0; > dev->si_drv2 = 0; > @@ -700,6 +704,7 @@ > fini_cdevsw(csw); > } > dev->si_flags &= ~SI_ALIAS; > + dev->si_refcount--; /* Avoid race with dev_rel() */ > > if (dev->si_refcount > 0) { > LIST_INSERT_HEAD(&dead_cdevsw.d_devs, dev, si_list); I've tried. Now machine just hangs if I try to switch from X to vty. It stays in graphics mode locked. Eugene