Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 23 Jul 1998 20:54:26 -0500 (EST)
From:      "John S. Dyson" <dyson@iquest.net>
To:        tlambert@primenet.com (Terry Lambert)
Cc:        toasty@home.dragondata.com, current@FreeBSD.ORG
Subject:   Re: panic: page fault while in kernel mode - from gcc
Message-ID:  <199807240154.UAA03907@dyson.iquest.net>
In-Reply-To: <199807230410.VAA14655@usr05.primenet.com> from Terry Lambert at "Jul 23, 98 04:10:14 am"

next in thread | previous in thread | raw e-mail | index | archive | help

Terry Lambert said:
> > >> This seems to indicate that the new process's page directory either hasn't
> > >> been allocated yet or went away for some reason. Apparantly one of several
> > >> new bugs that John has left us with.
> > >> 
> > >
> > >Is there any reason why someone doesn't back out his last few batches of
> > >large vm changes? Apparently he was half done with some of it, and what we
> > >had before seemed more stable than what we have now.
> > 
> >    That may ultimately be what we have to do, but the fixes also fixed some
> > serious 'leak' style problems with the Mach derived VM system, so I'd rather
> > that we find the bugs and fix them rather than going back to the previous
> > code.
> 
> FreeBSD doesn't currently include the batch of patches that Elvind
> saved and that John had in his home directory when it was removed,
> does it?
> 
> What is the behaviour with those patches added in?
> 
At the end, I was mostly working on the restructuring of the LL stuff to
support SMP as well as it could be with a monolithic kernel.  Those patches
might have some VM fixes in them, but since I left abruptly (for appropriate
reasons) the experimental code is probably a little rough.

I suggest that the VM traceback that was posted doesn't indicate a severe
or subtile problem (other than in the sense of user-inconvienience.)  The
fix is likely easy, and discussing it by those who might understand the code,
takes probably more energy than actually "just making it go away." 

I don't have a FreeBSD development environment anymore, so those who 
have one and understand how the code goes together should probably 
just fix it.  (It appears to be a problem with (obviously) vm_map_copy_entry,
and the pmap_copy code.)  Since it is an unintentional page fault, it is
likely a missing page table page.  It is either a reference count problem,
or a trivial code botch.  Remember, that before filling a page table page,
it is important that it exist!!!

If the problem is being tickled too often, just disable pmap_copy until
the problem can be fixed, which is only a code optimization, and the
system will likely work fine without it (but without one of the important
optimizations, temporarily.)

Again, this is only off the top of my head -- I am busy with other kinds
of kernel things for now.

-- 
John                  | Never try to teach a pig to sing,
dyson@iquest.net      | it makes one look stupid
jdyson@nc.com         | and it irritates the pig.

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?199807240154.UAA03907>