cvs commit: src/sys/amd64/amd64 pmap.c src/sys/amd64/include
peter at FreeBSD.org
Wed Jul 14 00:13:36 PDT 2004
peter 2004-07-14 07:13:35 UTC
FreeBSD src repository
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
More information about the cvs-all