summaryrefslogtreecommitdiffstats
path: root/sys/vm
diff options
context:
space:
mode:
authoralc <alc@FreeBSD.org>1999-08-17 04:02:34 +0000
committeralc <alc@FreeBSD.org>1999-08-17 04:02:34 +0000
commit075745f2e2fb52fde8ec60e7f50fb9fac232769b (patch)
treea5fc4015860f85bfe6e0ecb7123d7262658cb7bd /sys/vm
parentb22fe64f8ad371d067c1d604563e453b9cbdd67d (diff)
downloadFreeBSD-src-075745f2e2fb52fde8ec60e7f50fb9fac232769b.zip
FreeBSD-src-075745f2e2fb52fde8ec60e7f50fb9fac232769b.tar.gz
Add the (inline) function vm_page_undirty for clearing the dirty bitmask
of a vm_page. Use it. Submitted by: dillon
Diffstat (limited to 'sys/vm')
-rw-r--r--sys/vm/swap_pager.c4
-rw-r--r--sys/vm/vm_page.h14
-rw-r--r--sys/vm/vnode_pager.c6
3 files changed, 18 insertions, 6 deletions
diff --git a/sys/vm/swap_pager.c b/sys/vm/swap_pager.c
index 45bb363..df70c7c 100644
--- a/sys/vm/swap_pager.c
+++ b/sys/vm/swap_pager.c
@@ -64,7 +64,7 @@
*
* @(#)swap_pager.c 8.9 (Berkeley) 3/21/94
*
- * $Id: swap_pager.c,v 1.120 1999/06/27 22:08:38 peter Exp $
+ * $Id: swap_pager.c,v 1.121 1999/07/16 05:11:35 alc Exp $
*/
#include <sys/param.h>
@@ -1631,7 +1631,7 @@ swp_pager_async_iodone(bp)
pmap_clear_modify(VM_PAGE_TO_PHYS(m));
m->valid = VM_PAGE_BITS_ALL;
- m->dirty = 0;
+ vm_page_undirty(m);
vm_page_flag_clear(m, PG_ZERO);
/*
diff --git a/sys/vm/vm_page.h b/sys/vm/vm_page.h
index 5807674..05323c1 100644
--- a/sys/vm/vm_page.h
+++ b/sys/vm/vm_page.h
@@ -61,7 +61,7 @@
* any improvements or extensions that they make and grant Carnegie the
* rights to redistribute these changes.
*
- * $Id: vm_page.h,v 1.67 1999/08/15 01:16:53 mjacob Exp $
+ * $Id: vm_page.h,v 1.68 1999/08/15 05:36:43 alc Exp $
*/
/*
@@ -572,6 +572,18 @@ vm_page_dirty(vm_page_t m)
m->dirty = VM_PAGE_BITS_ALL;
}
+/*
+ * vm_page_undirty:
+ *
+ * Set page to not be dirty. Note: does not clear pmap modify bits
+ */
+
+static __inline void
+vm_page_undirty(vm_page_t m)
+{
+ m->dirty = 0;
+}
+
static __inline vm_page_t
vm_page_list_find(int basequeue, int index, boolean_t prefer_zero)
{
diff --git a/sys/vm/vnode_pager.c b/sys/vm/vnode_pager.c
index 2504bd8..c44391c 100644
--- a/sys/vm/vnode_pager.c
+++ b/sys/vm/vnode_pager.c
@@ -38,7 +38,7 @@
* SUCH DAMAGE.
*
* from: @(#)vnode_pager.c 7.5 (Berkeley) 4/20/91
- * $Id: vnode_pager.c,v 1.111 1999/06/26 02:46:50 mckusick Exp $
+ * $Id: vnode_pager.c,v 1.112 1999/07/01 19:53:43 peter Exp $
*/
/*
@@ -511,7 +511,7 @@ vnode_pager_input_old(object, m)
vm_pager_unmap_page(kva);
}
pmap_clear_modify(VM_PAGE_TO_PHYS(m));
- m->dirty = 0;
+ vm_page_undirty(m);
vm_page_flag_clear(m, PG_ZERO);
if (!error)
m->valid = VM_PAGE_BITS_ALL;
@@ -773,7 +773,7 @@ vnode_pager_generic_getpages(vp, m, bytecount, reqpage)
* Read filled up entire page.
*/
mt->valid = VM_PAGE_BITS_ALL;
- mt->dirty = 0;
+ vm_page_undirty(mt); /* should be an assert? XXX */
pmap_clear_modify(VM_PAGE_TO_PHYS(mt));
} else {
/*
OpenPOWER on IntegriCloud