Date: Wed, 14 Jul 2004 07:13:35 +0000 (UTC) From: Peter Wemm <peter@FreeBSD.org> To: src-committers@FreeBSD.org, cvs-src@FreeBSD.org, cvs-all@FreeBSD.org Subject: cvs commit: src/sys/amd64/amd64 pmap.c src/sys/amd64/include pmap.h Message-ID: <200407140713.i6E7DZb8094486@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
peter 2004-07-14 07:13:35 UTC FreeBSD src repository Modified files: sys/amd64/amd64 pmap.c sys/amd64/include pmap.h Log: Like on i386, eliminate pv_ptem (which was suggested by alc). This reduces the size of the pv_entry structure a small but significant amount. This is implemented a little differently because it isn't so cheap to get the physical address of the page tabke page on amd64.. instead of it being directly accessible from the top level page directory, it is now two additional tree levels down. However.. In almost all cases, we recently had the physical address if the page table page a short while before we needed it, but it slipped through our fingers. This patch saves it for when we do need it. Also, for the one case where we do not have the ptp paddr, we are always running in curproc context and so we can do a vtopte-like trick. I've implemented vtopde() for this purpose. There is still a CYA entry in pmap_unuse_pt() that needs to be removed. I think it can be removed now but I forgot to test with it gone. Revision Changes Path 1.484 +58 -29 src/sys/amd64/amd64/pmap.c 1.121 +0 -1 src/sys/amd64/include/pmap.h
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200407140713.i6E7DZb8094486>