cvs commit: src/sys/vm vm_page.c

Matthew Dillon dillon at crater.dragonflybsd.org
Thu Dec 6 14:26:25 PST 2007


dillon      2007/12/06 14:25:49 PST

DragonFly src repository

  Modified files:
    sys/vm               vm_page.c 
  Log:
  Fix a 'panic: vm_page_cache: caching a dirty page' assertion.  Even though
  callers of vm_page_cache() check m->dirty and test the PTE's in the page's
  pmap, it is still possible on a SMP system for a process running in usermode
  on a different cpu to dirty the page after these tests, but before the page
  has been removed from various pagetables.
  
  The solution is to test m->dirty again after vm_page_cache() removes the
  page from its associated page tables and silently deactivate the page instead
  of moving it to the cache if the page is found to be dirty.
  
  Reported-by: Peter Avalos <pavalos at theshell.com>
  
  Revision  Changes    Path
  1.36      +26 -12    src/sys/vm/vm_page.c


http://www.dragonflybsd.org/cvsweb/src/sys/vm/vm_page.c.diff?r1=1.35&r2=1.36&f=u





More information about the Commits mailing list