Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 1 Mar 2001 16:28:26 +1100 (EST)
From:      Bruce Evans <bde@zeta.org.au>
To:        John Baldwin <jhb@FreeBSD.org>
Cc:        Gary Jennejohn <garyj@jennejohn.org>, freebsd-current@FreeBSD.org, Leif Neland <leifn@neland.dk>
Subject:   Re: make kernel failure: pecoff: machine/lock.h
Message-ID:  <Pine.BSF.4.21.0103011618240.1347-100000@besplex.bde.org>
In-Reply-To: <XFMail.010228114348.jhb@FreeBSD.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On Wed, 28 Feb 2001, John Baldwin wrote:

> On 28-Feb-01 Bruce Evans wrote:
> > Most of the pcb actually has the same persistence as the kernel stack
> > (both mainly store the process's context while the process is in the
> > kernel).  But it is silly to put the pcb below the stack instead of
> > above it.  Perhaps the idea is to get a panic sooner when something
> > is corrupted.
> 
> That is the idea.  Not all of the pcb is just used while in the kernel.  The
> pcb_ext that points to a TSS on the i386 for example.  The problem I think
> people are having with the ltr panic is that the stack gets deep enough to
> overwrite that field of the pcb, and we die later on when we try to access an
> invalid pointer there.  Perhaps pcb_ext, pcb_ldt, and other things that are
> persistent across kernel entry/exit should be stored in p_md instead of p_addr.

I think that at least the pointers belong in p_md.

I had some panics that looked a bit like the ltr one.  These turned out
to be caused by priority inversion (related to the native priority bugs)
preventing an ithread from running.  The ithread held a pointer to a
process and the process exited before the pointer was used.

Bruce


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-current" in the body of the message




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