Date: Tue, 17 Jan 2006 13:27:10 -0800 From: Julian Elischer <julian@elischer.org> To: Jeff Roberson <jroberson@chesapeake.net> Cc: alc@freebsd.org, arch@freebsd.org Subject: Re: Large virtual page size support. Message-ID: <43CD612E.2060002@elischer.org> In-Reply-To: <20060117002541.I602@10.0.0.1> References: <20060117002541.I602@10.0.0.1>
next in thread | previous in thread | raw e-mail | index | archive | help
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"
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?43CD612E.2060002>