Daemon News Ezine BSD News BSD Mall BSD Support Forum BSD Advocacy BSD Updates

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

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



peter       2006-02-03 00:16:37 UTC

  FreeBSD src repository

  Modified files:
    sys/amd64/amd64      pmap.c 
  Log:
  Make PV entries dynamic on amd64.  i386 has a pre-reserved block of kva
  dedicated to storing pv entries, originally so that kva didn't have to be
  allocated at inconvenient times.  For amd64, we can get the same effect by
  using the direct map area.  Allocating pages is the same as with the object
  backed method, but now we can just lookup the page in the direct map area.
  Thus, no more pageable kva is reserved.  This is the single largest
  consumer of kva on our work machines and this change should help conserve
  the fixed size 2GB pageable kva on the amd64 kernel.
  
  There are a pair of sysctl nodes introduced, named the same as their
  tunable counterparts.  vm.pmap.shpgperproc and vm.pmap.pv_entry_max
  They work just like the tunables of the same path, except the values are
  linked.  The pv entry cap is now dynamically changeable.
  
  I didn't make them totally unlimited because we need some sort of safety
  limit still.  One could consume all physical memory without a cap.
  
  Revision  Changes    Path
  1.536     +36 -6     src/sys/amd64/amd64/pmap.c