Set laundry flag when transitioning an inactive page from clean to dirty.

This fixes a performance bug where pages would sometimes not be paged
out when they could be.

Submitted by:	John Dyson
This commit is contained in:
David Greenman 1994-11-14 02:57:40 +00:00
parent 317205ca28
commit b0150bfc4b
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=4447

View file

@ -65,7 +65,7 @@
* any improvements or extensions that they make and grant Carnegie the
* rights to redistribute these changes.
*
* $Id: vm_pageout.c,v 1.23 1994/10/25 05:35:44 davidg Exp $
* $Id: vm_pageout.c,v 1.24 1994/11/06 05:07:53 davidg Exp $
*/
/*
@ -631,8 +631,10 @@ vm_pageout_scan()
continue;
}
if (((m->flags & PG_CLEAN) != 0) && pmap_is_modified(VM_PAGE_TO_PHYS(m)))
if (((m->flags & PG_CLEAN) != 0) && pmap_is_modified(VM_PAGE_TO_PHYS(m))) {
m->flags &= ~PG_CLEAN;
m->flags |= PG_LAUNDRY;
}
if (((m->flags & PG_REFERENCED) == 0) && pmap_is_referenced(VM_PAGE_TO_PHYS(m))) {
m->flags |= PG_REFERENCED;