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.


To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message

Reply via email to