mirror of
https://git.FreeBSD.org/src.git
synced 2025-01-27 16:39:08 +00:00
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:
parent
317205ca28
commit
b0150bfc4b
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=4447
@ -65,7 +65,7 @@
|
|||||||
* any improvements or extensions that they make and grant Carnegie the
|
* any improvements or extensions that they make and grant Carnegie the
|
||||||
* rights to redistribute these changes.
|
* 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;
|
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_CLEAN;
|
||||||
|
m->flags |= PG_LAUNDRY;
|
||||||
|
}
|
||||||
|
|
||||||
if (((m->flags & PG_REFERENCED) == 0) && pmap_is_referenced(VM_PAGE_TO_PHYS(m))) {
|
if (((m->flags & PG_REFERENCED) == 0) && pmap_is_referenced(VM_PAGE_TO_PHYS(m))) {
|
||||||
m->flags |= PG_REFERENCED;
|
m->flags |= PG_REFERENCED;
|
||||||
|
Loading…
Reference in New Issue
Block a user