From owner-freebsd-ppc Wed Feb 27 21:40:41 2002 Delivered-To: freebsd-ppc@freebsd.org Received: from mail.jeamland.net (rafe.jeamland.net [203.18.243.114]) by hub.freebsd.org (Postfix) with ESMTP id 9EA8637B417; Wed, 27 Feb 2002 21:40:37 -0800 (PST) Received: from [192.168.9.176] (rtr1.snc.schools.net.au [203.2.135.22]) by mail.jeamland.net (Postfix) with ESMTP id 2ED187060A; Thu, 28 Feb 2002 16:40:31 +1100 (EST) Subject: Re: cvs commit: src/sys/powerpc/powerpc pmap.c From: Benno Rice To: luoqi@FreeBSD.org Cc: freebsd-ppc@freebsd.org In-Reply-To: <200202280528.g1S5SeI00984@freefall.freebsd.org> References: <200202280528.g1S5SeI00984@freefall.freebsd.org> Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="=-dZocSH8UaZ+wWxl/Dv4k" X-Mailer: Evolution/1.0.2 Date: 28 Feb 2002 17:40:30 +1200 Message-Id: <1014874831.1310.3.camel@ratchet.jeamland.net> Mime-Version: 1.0 Sender: owner-freebsd-ppc@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG --=-dZocSH8UaZ+wWxl/Dv4k Content-Type: text/plain Content-Transfer-Encoding: quoted-printable On Thu, 2002-02-28 at 17:28, luoqi@FreeBSD.org wrote: > It was a fine idea to have a merged pv_entry and overflow structure, > and use the pv table kind of as the complete page table, and the hash > table its cache. I would guess this is probably where the speed-up > comes from. I'd guess that's the case too. > But to traverse the linked pvo list in real mode (spill handler) > means the link pointers have to be a physical address. In the new > NetBSD code, this is done by allocating the pvo structures from > below 256M, which is mapped by BAT entry PA=3D=3DVA.=20 We also have this mapping. > In FreeBSD, the zone allocator won't do this job, first, you are > not guaranteed to get page below 256M, second, kva returned from > zalloc does not necessarily equal to pa (you don't really need the > kva). You'll have to write you own allocator. The tricky part is > how to allocate page below 256M. We could probably do something > similar to contigmalloc(), but my impression is this call could > be quite expensive. Especially so if we adopt a merged pvo struct, > because pv_entry allocation is much more frequent than overflow. Yeah, I was kind of avoiding thinking about this for the moment. =3D)=20 Hopefully Jeff's UMA stuff should help, as I believe that it allows you to specify allocation routines which will allow this to work. > Maybe we could find a middle ground somewhere. For example, use > a separate overflow structure allocated from low memory when there > is a collision, but also keep a copy of pte data in pv_entry as well. Hrm. I think I'd rather wait until Jeff's UMA goes in and reassess then. At the moment I'm running on a simulator configured to use 32MB of RAM so the BAT mapping will work. =20 > PS: sorry about a previous incomplete message, i was having some > trouble with our email server. That's cool. =3D) --=20 Benno Rice benno@FreeBSD.org --=-dZocSH8UaZ+wWxl/Dv4k Content-Type: application/pgp-signature; name=signature.asc Content-Description: This is a digitally signed message part -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.0.6 (FreeBSD) Comment: For info see http://www.gnupg.org iEYEABECAAYFAjx9ws4ACgkQXjRwWofFmQmRmACfR44VgZapkfv3XMRDw3AX5G0k EM4Ani8/pVPIY25jQ50MvDtDrcOcXB/c =NHVT -----END PGP SIGNATURE----- --=-dZocSH8UaZ+wWxl/Dv4k-- To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-ppc" in the body of the message