Date: Mon, 17 Mar 2008 07:42:13 -0400 From: Michael Butler <imb@protected-networks.net> To: Lawrence Farr <freebsd-stable@epcdirect.co.uk> Cc: freebsd-stable@freebsd.org, 'John Baldwin' <jhb@freebsd.org> Subject: Re: bin/121684: dump frequently hangs Message-ID: <47DE5915.50703@protected-networks.net> In-Reply-To: <01fc01c8881b$075b5620$16120260$@co.uk> References: <alpine.BSF.1.00.0803132341360.1080@nc8000.tharned.org> <200803141546.10569.jhb@freebsd.org> <01fc01c8881b$075b5620$16120260$@co.uk>
next in thread | previous in thread | raw e-mail | index | archive | help
This is a multi-part message in MIME format. --------------060704070308050902000203 Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit Lawrence Farr wrote: > I couldn't get this to apply cleanly against 7, is it safe to use rev > 1.48 on 7? I have 3 machines here that hang whilst dumping and I'd > like to test the patch. For RELENG_7, I'm using the attached. Apply it from /usr, Michael --------------060704070308050902000203 Content-Type: text/x-patch; name="subr_sleepqueue.c.diff" Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="subr_sleepqueue.c.diff" *** src/sys/kern/subr_sleepqueue.c.orig Thu Mar 6 11:13:14 2008 --- src/sys/kern/subr_sleepqueue.c Fri Mar 14 21:58:58 2008 *************** *** 403,414 **** mtx_unlock(&ps->ps_mtx); } /* ! * Lock sleepq chain before unlocking proc ! * without this, we could lose a race. */ mtx_lock_spin(&sc->sc_lock); PROC_UNLOCK(p); thread_lock(td); if (ret == 0) { if (!(td->td_flags & TDF_INTERRUPT)) { sleepq_switch(wchan); --- 403,417 ---- mtx_unlock(&ps->ps_mtx); } /* ! * Lock the per-process spinlock prior to dropping the PROC_LOCK ! * to avoid a signal delivery race. PROC_LOCK, PROC_SLOCK, and ! * thread_lock() are currently held in tdsignal(). */ + PROC_SLOCK(p); mtx_lock_spin(&sc->sc_lock); PROC_UNLOCK(p); thread_lock(td); + PROC_SUNLOCK(p); if (ret == 0) { if (!(td->td_flags & TDF_INTERRUPT)) { sleepq_switch(wchan); --------------060704070308050902000203--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?47DE5915.50703>