From owner-cvs-all@FreeBSD.ORG Fri Jun 20 08:45:05 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 0FE1537B4D5; Fri, 20 Jun 2003 08:45:05 -0700 (PDT) Received: from canning.wemm.org (canning.wemm.org [192.203.228.65]) by mx1.FreeBSD.org (Postfix) with ESMTP id ED8A743FB1; Fri, 20 Jun 2003 08:45:03 -0700 (PDT) (envelope-from peter@wemm.org) Received: from wemm.org (localhost [127.0.0.1]) by canning.wemm.org (Postfix) with ESMTP id CFA6D2A7EA; Fri, 20 Jun 2003 08:45:03 -0700 (PDT) (envelope-from peter@wemm.org) X-Mailer: exmh version 2.5 07/13/2001 with nmh-1.0.4 To: Hidetoshi Shimokawa In-Reply-To: Date: Fri, 20 Jun 2003 08:45:03 -0700 From: Peter Wemm Message-Id: <20030620154503.CFA6D2A7EA@canning.wemm.org> cc: Hidetoshi Shimokawa cc: src-committers@FreeBSD.org cc: Doug Rabson cc: cvs-all@FreeBSD.org cc: cvs-src@FreeBSD.org Subject: Re: cvs commit: src/sys/amd64/amd64 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: Fri, 20 Jun 2003 15:45:05 -0000 Hidetoshi Shimokawa wrote: > At Fri, 20 Jun 2003 10:02:24 +0100, > Doug Rabson wrote: > > > > On Friday 20 June 2003 1:11 am, Hidetoshi Shimokawa wrote: > > > At Thu, 19 Jun 2003 12:02:04 -0700, > > > > > > Peter Wemm wrote: > > > > > Modified files: > > > > > sys/amd64/amd64 pmap.c > > > > > Log: > > > > > Fix direct map page table for 2GB+ physical memory. > > > > > > > > Thank you! :-) > > > > > > > > Cheers, > > > > -Peter > > > > > > Do you have any plan to increase KVA up to 512GB? > > > struct vm_page consumes 250MB space for 8GB memory. > > > > Is there a direct-mapped region on amd64? The vm_page arrays come out of > > the direct-mapped regions on alpha and ia64 (don't know about sparc64) > > and this makes a big difference to KVA usage and probably to TLB > > pressure too. > > It makes sense. Amd64 has direct-mapped region on -1TB space. > I'll look into the code of alpha/ia64. > Yes. I created a pseudo-direct-mapped region using 2MB pages so that I could avoid doing temporary mappings when walking the page table tree (like on alpha, which I modeled the code on). sparc64 has a synthetic direct map region as well. While it is synthetic, it does seem to help because it uses larger pages and reduces tlb pressure. Not everything uses it yet, in particular pmap_mapdev() and friends. I was just about to do it when I realized that I wasn't creating enough space to at least cover the 4GB pci space. There is also a problem with a couple of routines that do not handle PG_PS at a few critical points, so the kernel itself is not using it yet. Cheers, -Peter -- Peter Wemm - peter@wemm.org; peter@FreeBSD.org; peter@yahoo-inc.com "All of this is for nothing if we don't go to the stars" - JMS/B5