cvs commit: src/sys/alpha/alpha pmap.c src/sys/amd64/amd64 pmap.c src/sys/i386/i386 pmap.c src/sys/ia64/ia64 pmap.c

Alan Cox alc at FreeBSD.org
Sat Nov 19 12:31:31 PST 2005


alc         2005-11-19 20:31:31 UTC

  FreeBSD src repository

  Modified files:        (Branch: RELENG_6)
    sys/alpha/alpha      pmap.c 
    sys/amd64/amd64      pmap.c 
    sys/i386/i386        pmap.c 
    sys/ia64/ia64        pmap.c 
  Log:
  MFC
    Begin and end the initialization of pvzone in pmap_init().
    Previously, pvzone's initialization was split between pmap_init() and
    pmap_init2().  This split initialization was the underlying cause of
    some UMA panics during initialization.  Specifically, if the UMA boot
    pages was exhausted before the pvzone was fully initialized, then UMA,
    through no fault of its own, would use an inappropriate back-end
    allocator leading to a panic.  (Previously, as a workaround, we have
    increased the UMA boot pages.)  Fortunately, there is no longer any
    reason that pvzone's initialization cannot be completed in
    pmap_init().
  
    Eliminate a check for whether pv_entry_high_water has been initialized
    or not from get_pv_entry().  Since pvzone's initialization is
    completed in pmap_init(), this check is no longer needed.
  
    Use cnt.v_page_count, the actual count of available physical pages,
    instead of vm_page_array_size to compute the maximum number of pv
    entries.
  
    Introduce the vm.pmap.pv_entries tunable on alpha and ia64.
  
    Eliminate some unnecessary white space.
  
  Revision   Changes    Path
  1.178.2.3  +10 -17    src/sys/alpha/alpha/pmap.c
  1.516.2.4  +11 -19    src/sys/amd64/amd64/pmap.c
  1.523.2.5  +11 -19    src/sys/i386/i386/pmap.c
  1.160.2.4  +11 -19    src/sys/ia64/ia64/pmap.c


More information about the cvs-all mailing list