From owner-freebsd-current@FreeBSD.ORG Wed Dec 3 10:02:58 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 C3B0B16A4CE for ; Wed, 3 Dec 2003 10:02:58 -0800 (PST) Received: from mail1.speakeasy.net (mail1.speakeasy.net [216.254.0.201]) by mx1.FreeBSD.org (Postfix) with ESMTP id 6C38243F85 for ; Wed, 3 Dec 2003 10:02:55 -0800 (PST) (envelope-from jhb@FreeBSD.org) Received: (qmail 15200 invoked from network); 3 Dec 2003 18:02:54 -0000 Received: from unknown (HELO server.baldwin.cx) ([216.27.160.63]) (envelope-sender )encrypted SMTP for ; 3 Dec 2003 18:02:54 -0000 Received: from laptop.baldwin.cx (gw1.twc.weather.com [216.133.140.1]) by server.baldwin.cx (8.12.9/8.12.9) with ESMTP id hB3I2oFn009665; Wed, 3 Dec 2003 13:02:50 -0500 (EST) (envelope-from jhb@FreeBSD.org) Message-ID: X-Mailer: XFMail 1.5.4 on FreeBSD X-Priority: 3 (Normal) Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 8bit MIME-Version: 1.0 In-Reply-To: Date: Wed, 03 Dec 2003 13:02:56 -0500 (EST) From: John Baldwin To: Igor Sysoev X-Spam-Checker-Version: SpamAssassin 2.55 (1.174.2.19-2003-05-19-exp) 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:02:58 -0000 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. >> >> > >> >> > Go ahead and load up kernel.debug and the core dump in gdb -k, and show us >> >> > the backtrace. Also, do you have any idea about more specific circumstances >> >> > that will cause this problem? Thanks! >> >> >> >> Actually, please try http://www.FreeBSD.org/~jhb/patches/turnstile.patch >> > >> > I've applied patch. >> > Now it's a second fault. >> >> This is the same fault. Did you just apply this patch today or did >> you apply an earlier version of it a while ago? I just updated it >> two days ago. > > In I sent trace before > the patch. It seems to me that it's singe fault. > > Then I applied patch I saw the double fault. This trace I sent in > . 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. -- John Baldwin <>< http://www.FreeBSD.org/~jhb/ "Power Users Use the Power to Serve!" - http://www.FreeBSD.org/