From owner-freebsd-current@FreeBSD.ORG Wed Dec 3 10:36:39 2003 Return-Path: Delivered-To: freebsd-current@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id BB0D616A4CE; Wed, 3 Dec 2003 10:36:39 -0800 (PST) Received: from park.rambler.ru (park.rambler.ru [81.19.64.101]) by mx1.FreeBSD.org (Postfix) with ESMTP id CEBA043FDF; Wed, 3 Dec 2003 10:36:37 -0800 (PST) (envelope-from is@rambler-co.ru) Received: from is (is.park.rambler.ru [81.19.64.102]) by park.rambler.ru (8.12.6/8.12.6) with ESMTP id hB3IaaWU014360; Wed, 3 Dec 2003 21:36:36 +0300 (MSK) (envelope-from is@rambler-co.ru) Date: Wed, 3 Dec 2003 21:36:36 +0300 (MSK) From: Igor Sysoev X-Sender: is@is To: John Baldwin In-Reply-To: Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII cc: freebsd-current@FreeBSD.org Subject: Re: A page fault in subr_turnstile.c:propogate_priority() X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 03 Dec 2003 18:36:39 -0000 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 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 ? Igor Sysoev http://sysoev.ru/en/