From owner-freebsd-alpha@FreeBSD.ORG Fri Apr 16 20:55:03 2004 Return-Path: Delivered-To: freebsd-alpha@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 0A78616A4CE for ; Fri, 16 Apr 2004 20:55:03 -0700 (PDT) Received: from cs.rice.edu (cs.rice.edu [128.42.1.30]) by mx1.FreeBSD.org (Postfix) with ESMTP id E371443D3F for ; Fri, 16 Apr 2004 20:55:02 -0700 (PDT) (envelope-from alc@cs.rice.edu) Received: from localhost (calypso.cs.rice.edu [128.42.1.127]) by cs.rice.edu (Postfix) with ESMTP id 83F7D4AD26; Fri, 16 Apr 2004 22:55:02 -0500 (CDT) Received: from cs.rice.edu ([128.42.1.30]) by localhost (calypso.cs.rice.edu [128.42.1.127]) (amavisd-new, port 10024) with LMTP id 13721-01-76; Fri, 16 Apr 2004 22:55:02 -0500 (CDT) Received: by cs.rice.edu (Postfix, from userid 19572) id 2A0694AD25; Fri, 16 Apr 2004 22:55:02 -0500 (CDT) Date: Fri, 16 Apr 2004 22:55:01 -0500 From: Alan Cox To: Andrew Gallatin Message-ID: <20040417035501.GE238@cs.rice.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> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <16512.13043.868658.232276@grasshopper.cs.duke.edu> User-Agent: Mutt/1.3.28i X-Virus-Scanned: by amavis-20030616-p7 at cs.rice.edu cc: alpha@FreeBSD.org Subject: Re: Another alpha panic X-BeenThere: freebsd-alpha@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Porting FreeBSD to the Alpha List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 17 Apr 2004 03:55:03 -0000 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;