DragonFly commits List (threaded) for 2007-12
DragonFly BSD
DragonFly commits List (threaded) for 2007-12
[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]

cvs commit: src/sys/vm vm_page.c


From: Matthew Dillon <dillon@xxxxxxxxxxxxxxxxxxxxxxx>
Date: Thu, 6 Dec 2007 14:25:49 -0800 (PST)

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@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



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