From owner-cvs-src@FreeBSD.ORG Thu Jul 3 13:18:03 2003 Return-Path: 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 51A9B37B401; Thu, 3 Jul 2003 13:18:03 -0700 (PDT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id E1F354403B; Thu, 3 Jul 2003 13:18:02 -0700 (PDT) (envelope-from alc@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.6/8.12.6) with ESMTP id h63KI20U097242; Thu, 3 Jul 2003 13:18:02 -0700 (PDT) (envelope-from alc@repoman.freebsd.org) Received: (from alc@localhost) by repoman.freebsd.org (8.12.6/8.12.6/Submit) id h63KI2TL097241; Thu, 3 Jul 2003 13:18:02 -0700 (PDT) Message-Id: <200307032018.h63KI2TL097241@repoman.freebsd.org> From: Alan Cox Date: Thu, 3 Jul 2003 13:18:02 -0700 (PDT) To: src-committers@FreeBSD.org, cvs-src@FreeBSD.org, cvs-all@FreeBSD.org X-FreeBSD-CVS-Branch: HEAD Subject: cvs commit: src/sys/alpha/alpha pmap.c src/sys/amd64/amd64 pmap.c src/sys/i386/i386 pmap.c src/sys/ia64/ia64 pmap.c src/sys/powerpc/powerpc pmap.c src/sys/sparc64/sparc64 pmap.c src/sys/vm pmap.h vm_map.c X-BeenThere: cvs-src@freebsd.org X-Mailman-Version: 2.1.1 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: Thu, 03 Jul 2003 20:18:03 -0000 alc 2003/07/03 13:18:02 PDT FreeBSD src repository Modified files: sys/alpha/alpha pmap.c sys/amd64/amd64 pmap.c sys/i386/i386 pmap.c sys/ia64/ia64 pmap.c sys/powerpc/powerpc pmap.c sys/sparc64/sparc64 pmap.c sys/vm pmap.h vm_map.c Log: Background: pmap_object_init_pt() premaps the pages of a object in order to avoid the overhead of later page faults. In general, it implements two cases: one for vnode-backed objects and one for device-backed objects. Only the device-backed case is really machine-dependent, belonging in the pmap. This commit moves the vnode-backed case into the (relatively) new function vm_map_pmap_enter(). On amd64 and i386, this commit only amounts to code rearrangement. On alpha and ia64, the new machine independent (MI) implementation of the vnode case is smaller and more efficient than their pmap-based implementations. (The MI implementation takes advantage of the fact that objects in -CURRENT are ordered collections of pages.) On sparc64, pmap_object_init_pt() hadn't (yet) been implemented. Revision Changes Path 1.129 +4 -105 src/sys/alpha/alpha/pmap.c 1.419 +15 -83 src/sys/amd64/amd64/pmap.c 1.415 +15 -84 src/sys/i386/i386/pmap.c 1.114 +4 -106 src/sys/ia64/ia64/pmap.c 1.59 +5 -3 src/sys/powerpc/powerpc/pmap.c 1.117 +5 -2 src/sys/sparc64/sparc64/pmap.c 1.61 +1 -2 src/sys/vm/pmap.h 1.303 +74 -1 src/sys/vm/vm_map.c