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>