Date: Wed, 03 Dec 2003 15:05:38 -0500 (EST) From: John Baldwin <jhb@FreeBSD.org> To: Igor Sysoev <is@rambler-co.ru> Cc: freebsd-current@FreeBSD.org Subject: Re: A page fault in subr_turnstile.c:propogate_priority() Message-ID: <XFMail.20031203150538.jhb@FreeBSD.org> In-Reply-To: <Pine.BSF.4.21.0312032133500.24397-100000@is>
next in thread | previous in thread | raw e-mail | index | archive | help
On 03-Dec-2003 Igor Sysoev wrote: > On Wed, 3 Dec 2003, John Baldwin wrote: > >> On 03-Dec-2003 Igor Sysoev wrote: >> > On Wed, 3 Dec 2003, John Baldwin wrote: >> > >> >> >> >> On 03-Dec-2003 Igor Sysoev wrote: >> >> > On Wed, 3 Dec 2003, John Baldwin wrote: >> >> > >> >> >> On 03-Dec-2003 Brian F. Feldman wrote: >> >> >> > Igor Sysoev <is@rambler-co.ru> wrote: >> >> >> >> I'd cvsup'ed 5.1-CURRENT from 2003.11.04.02.02.00 up to >> >> >> >> 2003.11.28.00.00.00 with the turnstile support and it can still >> >> >> >> causes sometimes a page fault in propogate_priority(). >> >> >> >> I have core dump and can send debug output. > >> Both faults are a trap 12 page fault with a faulting va of 0xe5 >> because td1 is NULL in priority propagation. Try this change to >> get a better cashdump that can be analyzed: >> >> Index: subr_turnstile.c >> =================================================================== >> RCS file: /usr/cvs/src/sys/kern/subr_turnstile.c,v >> retrieving revision 1.134 >> diff -u -r1.134 subr_turnstile.c >> --- subr_turnstile.c 12 Nov 2003 23:48:42 -0000 1.134 >> +++ subr_turnstile.c 3 Dec 2003 17:48:02 -0000 >> @@ -254,6 +254,7 @@ >> } >> >> td1 = TAILQ_PREV(td, threadqueue, td_lockq); >> + MPASS(td1 != NULL); >> if (td1->td_priority <= pri) { >> mtx_unlock_spin(&tc->tc_lock); >> continue; >> >> Then print 'td' and '*ts' in gdb from the priority_propagation() >> frame and mail the output. > > With a patch from http://www.FreeBSD.org/~jhb/patches/turnstile.patch > I can not even rebuild kernel. Can I add MPASS to sources from > 2003.11.28.00.00.00 ? Sure. I've reproduced a panic locally with turnstile.patch. I can't get my box to get a crash dump though. The ata crash dump code seems to have panicd. :( Just revert turnstile.patch for now. -- John Baldwin <jhb@FreeBSD.org> <>< http://www.FreeBSD.org/~jhb/ "Power Users Use the Power to Serve!" - http://www.FreeBSD.org/
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?XFMail.20031203150538.jhb>