Date: Thu, 03 Jul 2003 15:26:23 -0500 From: "Alan L. Cox" <alc@imimic.com> To: sparc64@freebsd.org Subject: [Fwd: cvs commit: src/sys/alpha/alpha pmap.c src/sys/amd64/amd64 pmap.csrc/sys/i386/i386 pmap.c src/sys/ia64/ia64 pmap.csrc/sys/powerpc/powerpc pmap.c src/sys/sparc] Message-ID: <3F04916F.12364D33@imimic.com>
next in thread | raw e-mail | index | archive | help
[-- Attachment #1 --]
This should improve the performance of apps using memory-mapped files on
sparc64. If, however, you see anything "weird" happening, you can
effectively disable this change on sparc64 by #if 0'ing the body of
sparc64's one-line pmap_enter_quick().
Regards,
Alan
[-- Attachment #2 --]
Received: from mx2.freebsd.org (216.136.204.119)0-0613713490
for <alc@imimic.com>; Thu, 3 Jul 2003 16:18:10 -0400 (EDT)
Received: from hub.freebsd.org (hub.freebsd.org [216.136.204.18])
by mx2.freebsd.org (Postfix) with ESMTP id 81946564C7
for <alc@imimic.com>; Thu, 3 Jul 2003 13:18:09 -0700 (PDT)
(envelope-from owner-src-committers@FreeBSD.org)
Received: by hub.freebsd.org (Postfix)
id 5679737B408; Thu, 3 Jul 2003 13:18:09 -0700 (PDT)
Delivered-To: alc@freebsd.org
Received: by hub.freebsd.org (Postfix, from userid 538)
id 35D9137B404; Thu, 3 Jul 2003 13:18:09 -0700 (PDT)
Delivered-To: src-committers@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 <alc@FreeBSD.org>
Date: Thu, 3 Jul 2003 13:18:02 -0700 (PDT)
To: src-committers@FreeBSD.org, cvs-src@FreeBSD.org,
cvs-all@FreeBSD.org
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-FreeBSD-CVS-Branch: HEAD
Sender: owner-src-committers@FreeBSD.org
Precedence: bulk
X-Loop: FreeBSD.ORG
X-Loop-Detect: 1
X-Mozilla-Status2: 00000000
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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?3F04916F.12364D33>
