From owner-freebsd-arch@FreeBSD.ORG Tue Jan 17 21:27:10 2006 Return-Path: X-Original-To: arch@freebsd.org Delivered-To: freebsd-arch@FreeBSD.ORG Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id EE57216A41F; Tue, 17 Jan 2006 21:27:10 +0000 (GMT) (envelope-from julian@elischer.org) Received: from a50.ironport.com (a50.ironport.com [63.251.108.112]) by mx1.FreeBSD.org (Postfix) with ESMTP id AC27C43D46; Tue, 17 Jan 2006 21:27:10 +0000 (GMT) (envelope-from julian@elischer.org) Received: from unknown (HELO [10.251.23.146]) ([10.251.23.146]) by a50.ironport.com with ESMTP; 17 Jan 2006 13:27:11 -0800 X-IronPort-Anti-Spam-Filtered: true Message-ID: <43CD612E.2060002@elischer.org> Date: Tue, 17 Jan 2006 13:27:10 -0800 From: Julian Elischer User-Agent: Mozilla/5.0 (Macintosh; U; PPC Mac OS X Mach-O; en-US; rv:1.7.11) Gecko/20050727 X-Accept-Language: en-us, en MIME-Version: 1.0 To: Jeff Roberson References: <20060117002541.I602@10.0.0.1> In-Reply-To: <20060117002541.I602@10.0.0.1> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Cc: alc@freebsd.org, arch@freebsd.org Subject: Re: Large virtual page size support. X-BeenThere: freebsd-arch@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Discussion related to FreeBSD architecture List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 17 Jan 2006 21:27:11 -0000 Jeff Roberson wrote: > I have implemented support in the vm for PAGE_SIZE values which are a > multiple of the hardware page size. This is primarily useful for two > things: Mach (and the VM system we inherrited from it) had this. I beieve it was removed with teh comment "If we need this and someone is willing to support it it can be added back" . It always seemed like in interesting idea and I'm happy to see that it is still being looked at. > > 1) Shrinking the size of the vm page array so that very large memory > x86 PAE machines may boot. > > 2) Improving performance of many operations due to decreased page list > sizes as well as improved efficiency of many vm operations. In the > particular application that this was developed for the fs block size, > page size, and jumbo frame size were all made equal at 8k on a box > with 4k pages. This made page flipping etc. very fast. > > This has been done with full userland backwards compatibility. > Userland still has the ability to map things in native page size > chunks. The majority of the system software remains unchanged. The > vm gains some complexity and the elf loader gains some complexity > since both need to be able to deal with native page size and virtual > page size. > > The real page size is now CPU_PAGE_SIZE while PAGE_SIZE is the virtual > page size which is the smallest unit of memory handed back by the page > allocation routines. KVA is also managed in PAGE_SIZE chunks. The > x86 pmap code has a small allocator that deals with allocating real > pages for page table entries. > > I wrote this code for a client who would like for it to be in the > freebsd tree. However, it does add some complexity and so I doubt > freebsd wants it unless there is a clear demand for it. What I'd like > to know is, does anyone else find this useful? Do the developers who > work on the vm think this is just a horrible hack? Does anyone care > about PAE anymore? > > Let me know what you think. The patch is available at > http://www.chesapeake.net/~jroberson/8k.diff. It will not apply to > any version of freebsd that you have. Please consider it read only > and not testable until I decide whether it's worth porting. > > Cheers, > Jeff > _______________________________________________ > freebsd-arch@freebsd.org mailing list > http://lists.freebsd.org/mailman/listinfo/freebsd-arch > To unsubscribe, send any mail to "freebsd-arch-unsubscribe@freebsd.org"