Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 3 Dec 2003 21:36:36 +0300 (MSK)
From:      Igor Sysoev <is@rambler-co.ru>
To:        John Baldwin <jhb@FreeBSD.org>
Cc:        freebsd-current@FreeBSD.org
Subject:   Re: A page fault in subr_turnstile.c:propogate_priority()
Message-ID:  <Pine.BSF.4.21.0312032133500.24397-100000@is>
In-Reply-To: <XFMail.20031203130256.jhb@FreeBSD.org>

next in thread | previous in thread | raw e-mail | index | archive | help
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 ?


Igor Sysoev
http://sysoev.ru/en/



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.BSF.4.21.0312032133500.24397-100000>