From owner-cvs-all@FreeBSD.ORG Mon Aug 18 14:11:09 2003 Return-Path: Delivered-To: cvs-all@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id D570C37B401; Mon, 18 Aug 2003 14:11:09 -0700 (PDT) Received: from mail.chesapeake.net (chesapeake.net [208.142.252.6]) by mx1.FreeBSD.org (Postfix) with ESMTP id 7603B43F3F; Mon, 18 Aug 2003 14:11:06 -0700 (PDT) (envelope-from jroberson@chesapeake.net) Received: from localhost (jroberson@localhost) by mail.chesapeake.net (8.11.6/8.11.6) with ESMTP id h7ILB3q44867; Mon, 18 Aug 2003 17:11:03 -0400 (EDT) (envelope-from jroberson@chesapeake.net) Date: Mon, 18 Aug 2003 17:11:03 -0400 (EDT) From: Jeff Roberson To: "Alan L. Cox" In-Reply-To: <20030818165803.P12093-100000@mail.chesapeake.net> Message-ID: <20030818171003.Y12093-100000@mail.chesapeake.net> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII cc: Alan Cox cc: cvs-src@FreeBSD.org cc: src-committers@FreeBSD.org cc: cvs-all@FreeBSD.org Subject: Re: cvs commit: src/sys/i386/i386 pmap.c X-BeenThere: cvs-all@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: CVS commit messages for the entire tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 18 Aug 2003 21:11:10 -0000 On Mon, 18 Aug 2003, Jeff Roberson wrote: > On Mon, 18 Aug 2003, Alan L. Cox wrote: > > > Jeff Roberson wrote: > > > > > > On Sun, 17 Aug 2003, Alan Cox wrote: > > > > > > > alc 2003/08/17 15:27:30 PDT > > > > > > > > FreeBSD src repository > > > > > > > > Modified files: > > > > sys/i386/i386 pmap.c > > > > Log: > > > > Acquire the pte object's mutex when performing vm_page_grab(). Note: It is > > > > my long-term objective to eliminate the pte object. In the near term, this > > > > does, however, enable the addition of some vm object locking assertions. > > > > > > > > Revision Changes Path > > > > 1.427 +4 -0 src/sys/i386/i386/pmap.c > > > > > > > > > > What is your plan for the pte object? Will we still be able to page out > > > page tables? > > > > > > > Yes, expect no loss of functionality. The use of a pte object simply > > reflects the pre-"VM_ALLOC_NOOBJ" days when vm_page_alloc() always > > required an object to contain the allocated page. As some of my other > > recent pmap changes have demonstrated it's equally easy and perhaps > > faster to use the page table structure itself as the "container" rather > > than doing vm_page_lookup() on the pte obj. (Annecdotal tests suggested > > that eliminating the vm_page_lookup()s from places such as pmap_copy() > > reduced "buildworld" time by ~0.5%.) > > > > Regards, > > Alan > > > > I thought that the pte object was required so that we could page out the > page tables though? Will the pager still know that it can discard the > pages? We should be able to recreate them from a fault, yes? Do you > intend to modify the pager so that it will simply discard unwired NOOBJ > pages? It seems like that would work. > > Thanks, > Jeff > Nevermind, I misunderstood. According to jake, we only discard page tables once we discard all of the pages that they map. The rest of the time the page table pages are wired.