From owner-cvs-src@FreeBSD.ORG Sat Apr 29 17:37:48 2006 Return-Path: X-Original-To: cvs-src@freebsd.org Delivered-To: cvs-src@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 991FF16A401; Sat, 29 Apr 2006 17:37:48 +0000 (UTC) (envelope-from nate@root.org) Received: from ylpvm15.prodigy.net (ylpvm15-ext.prodigy.net [207.115.57.46]) by mx1.FreeBSD.org (Postfix) with ESMTP id B7B7D43D46; Sat, 29 Apr 2006 17:37:45 +0000 (GMT) (envelope-from nate@root.org) Received: from pimout5-ext.prodigy.net (pimout5-int.prodigy.net [207.115.4.21]) by ylpvm15.prodigy.net (8.12.10 outbound/8.12.10) with ESMTP id k3THbjg7012550; Sat, 29 Apr 2006 13:37:45 -0400 X-ORBL: [71.139.38.236] Received: from [10.0.5.50] (ppp-71-139-38-236.dsl.snfc21.pacbell.net [71.139.38.236]) by pimout5-ext.prodigy.net (8.13.6 out.dk/8.13.6) with ESMTP id k3THbgF6208598; Sat, 29 Apr 2006 13:37:43 -0400 Message-ID: <4453A429.5080406@root.org> Date: Sat, 29 Apr 2006 10:36:41 -0700 From: Nate Lawson User-Agent: Thunderbird 1.5.0.2 (Windows/20060308) MIME-Version: 1.0 To: Peter Wemm References: <200604281905.k3SJ59MZ008806@repoman.freebsd.org> <20060429024850.GB997@turion.vk2pj.dyndns.org> <4452FB64.7030308@root.org> <200604291021.12379.peter@wemm.org> In-Reply-To: <200604291021.12379.peter@wemm.org> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Cc: Peter Jeremy , src-committers@freebsd.org, cvs-all@freebsd.org, cvs-src@freebsd.org Subject: Re: cvs commit: src/sys/i386/i386 pmap.c X-BeenThere: cvs-src@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: CVS commit messages for the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 29 Apr 2006 17:37:48 -0000 Peter Wemm wrote: > Stephan realized that the kernel already allocates one PTE per virtual > page. Although it normally holds physical addresses plus attributes, > as long as we don't set PG_V, then there are 31 other bits that we > could use for data storage. We could put virtual addresses in there so > long as we didn't set PG_V, and abuse that to have a singly linked > freelist threaded through the PTEs. It turned out even easier though. > As long as the virtual addresses are page aligned, we neatly avoid all > the PG_* mode bits as well. ... because you can shift by the page size, saving 12 bits. But are there any problems with 2 MB pages? Great ideas, both you and ups@. You know, you can store 2 pointers there with XOR. ;-) -- Nate