cvs commit: src/sys/amd64/amd64 pmap.c src/sys/amd64/include pmap.h

Peter Wemm peter at FreeBSD.org
Wed Jul 14 00:13:36 PDT 2004


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


More information about the cvs-all mailing list