summaryrefslogtreecommitdiffstats
path: root/sys/amd64/include
diff options
context:
space:
mode:
authorpeter <peter@FreeBSD.org>2004-07-14 07:13:35 +0000
committerpeter <peter@FreeBSD.org>2004-07-14 07:13:35 +0000
commit363f0d38d547e6d1d4febdc38dc4f09828600400 (patch)
tree416c3a48dbcce3f9a3e3124d9152db09b2b55e8e /sys/amd64/include
parent1aaeb1baaff279cbd112a80024a60db1f3453aeb (diff)
downloadFreeBSD-src-363f0d38d547e6d1d4febdc38dc4f09828600400.zip
FreeBSD-src-363f0d38d547e6d1d4febdc38dc4f09828600400.tar.gz
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.
Diffstat (limited to 'sys/amd64/include')
-rw-r--r--sys/amd64/include/pmap.h1
1 files changed, 0 insertions, 1 deletions
diff --git a/sys/amd64/include/pmap.h b/sys/amd64/include/pmap.h
index b3f42cc..f4696f9 100644
--- a/sys/amd64/include/pmap.h
+++ b/sys/amd64/include/pmap.h
@@ -256,7 +256,6 @@ typedef struct pv_entry {
vm_offset_t pv_va; /* virtual address for mapping */
TAILQ_ENTRY(pv_entry) pv_list;
TAILQ_ENTRY(pv_entry) pv_plist;
- vm_page_t pv_ptem; /* VM page for pte */
} *pv_entry_t;
#ifdef _KERNEL
OpenPOWER on IntegriCloud