cvs commit: src/sys/vm vm_extern.h vm_fault.c vm_map.c vm_page.c

Alan Cox alc at FreeBSD.org
Fri May 21 21:53:52 PDT 2004


alc         2004/05/21 21:53:52 PDT

  FreeBSD src repository

  Modified files:
    sys/vm               vm_extern.h vm_fault.c vm_map.c vm_page.c 
  Log:
  To date, unwiring a fictitious page has produced a panic.  The reason
  being that PHYS_TO_VM_PAGE() returns the wrong vm_page for fictitious
  pages but unwiring uses PHYS_TO_VM_PAGE().  The resulting panic
  reported an unexpected wired count.  Rather than attempting to fix
  PHYS_TO_VM_PAGE(), this fix takes advantage of the properties of
  fictitious pages.  Specifically, fictitious pages will never be
  completely unwired.  Therefore, we can keep a fictitious page's wired
  count forever set to one and thereby avoid the use of
  PHYS_TO_VM_PAGE() when we know that we're working with a fictitious
  page, just not which one.
  
  In collaboration with: green@, tegge@
  PR: kern/29915
  
  Revision  Changes    Path
  1.73      +2 -2      src/sys/vm/vm_extern.h
  1.188     +10 -11    src/sys/vm/vm_fault.c
  1.335     +13 -5     src/sys/vm/vm_map.c
  1.284     +4 -0      src/sys/vm/vm_page.c


More information about the cvs-src mailing list