Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 16 Apr 2004 22:55:01 -0500
From:      Alan Cox <alc@cs.rice.edu>
To:        Andrew Gallatin <gallatin@cs.duke.edu>
Cc:        alpha@FreeBSD.org
Subject:   Re: Another alpha panic
Message-ID:  <20040417035501.GE238@cs.rice.edu>
In-Reply-To: <16512.13043.868658.232276@grasshopper.cs.duke.edu>
References:  <16509.42895.49213.222503@grasshopper.cs.duke.edu> <20040416045453.GA78366@xor.obsecurity.org> <407F68BA.6000405@imimic.com> <20040416053930.GA78940@xor.obsecurity.org> <20040416054340.GZ238@cs.rice.edu> <20040416054804.GA79165@xor.obsecurity.org> <407F775D.7020908@imimic.com> <16511.61586.123216.627307@grasshopper.cs.duke.edu> <20040416162748.GB238@cs.rice.edu> <16512.13043.868658.232276@grasshopper.cs.duke.edu>

next in thread | previous in thread | raw e-mail | index | archive | help
On Fri, Apr 16, 2004 at 03:24:35PM -0400, Andrew Gallatin wrote:
Content-Description: message body text
> 
> Alan Cox writes:
> 
>  > Fixing this should be mechanical in nature: Search for all uses
>  > of PG_UNMANAGED in amd64's or i386's and change alpha's pmap accordingly.
>  > Volunteer?  I can review the patch but not test it.
> 
> How does the attached patch look?  I"ll try a buildworld with
> it before commiting, naturally..
> 
> Its sort of funny that pmap_enter_quick() talks about
> "Enter on the PV list if part of our managed memory"
> and then puts it there anyway..
> 

The patch looks correct.  In regards to the funny comment in
pmap_enter_quick(), I can say the following: once upon a time, all pages
passed to pmap_enter_quick() would have been managed pages.  So, the
check could have been safely omitted as a micro-optimization.

Alan

P.S. A thought regarding style, in pmap_enter_quick(), why not follow
the same idiom used in pmap_enter() for implementing the "management"
bits?  Specifically, something like

	managed = 0;
	if ((m->flags & (PG_FICTITIOUS | PG_UNMANAGED)) == 0) {
		pmap_insert_entry(pmap, va, mpte, m);
		managed = PG_MANAGED | PG_FOR | PG_FOW | PG_FOE;
	}
	...
	*pte = ... | managed;



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20040417035501.GE238>