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