Module Name: src
Committed By: yamt
Date: Tue Jan 24 02:11:33 UTC 2012
Modified Files:
src/sys/uvm [yamt-pagecache]: uvm_page_status.c
Log Message:
comments
To generate a diff of this commit:
cvs rdiff -u -r1.1.2.6 -r1.1.2.7 src/sys/uvm/uvm_page_status.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/sys/uvm/uvm_page_status.c
diff -u src/sys/uvm/uvm_page_status.c:1.1.2.6 src/sys/uvm/uvm_page_status.c:1.1.2.7
--- src/sys/uvm/uvm_page_status.c:1.1.2.6 Wed Jan 18 02:09:06 2012
+++ src/sys/uvm/uvm_page_status.c Tue Jan 24 02:11:33 2012
@@ -1,4 +1,4 @@
-/* $NetBSD: uvm_page_status.c,v 1.1.2.6 2012/01/18 02:09:06 yamt Exp $ */
+/* $NetBSD: uvm_page_status.c,v 1.1.2.7 2012/01/24 02:11:33 yamt Exp $ */
/*-
* Copyright (c)2011 YAMAMOTO Takashi,
@@ -27,7 +27,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: uvm_page_status.c,v 1.1.2.6 2012/01/18 02:09:06 yamt Exp $");
+__KERNEL_RCSID(0, "$NetBSD: uvm_page_status.c,v 1.1.2.7 2012/01/24 02:11:33 yamt Exp $");
#include <sys/param.h>
#include <sys/systm.h>
@@ -52,6 +52,8 @@ __CTASSERT(UVM_PAGE_STATUS_CLEAN == PG_C
/*
* uvm_pagegetdirty: return the dirtiness status (one of UVM_PAGE_STATUS_
* values) of the page.
+ *
+ * called with the owner locked.
*/
unsigned int
@@ -82,6 +84,13 @@ stat_update(bool isanon, unsigned int ol
/*
* uvm_pagemarkdirty: set the dirtiness status (one of UVM_PAGE_STATUS_ values)
* of the page.
+ *
+ * called with the owner locked.
+ *
+ * update the radix tree tag for object-owned page.
+ *
+ * if new status is UVM_PAGE_STATUS_UNKNOWN, clear pmap-level dirty bit
+ * so that later uvm_pagecheckdirty() can notice modifications on the page.
*/
void
@@ -133,6 +142,11 @@ uvm_pagemarkdirty(struct vm_page *pg, un
* uvm_pagecheckdirty: check if page is dirty, and remove its dirty-marks.
*
* called with the owner locked.
+ *
+ * returns if the page was dirty.
+ *
+ * if protected is true, mark the page CLEAN. otherwise, mark the page UNKNOWN.
+ * ("mark" in the sense of uvm_pagemarkdirty().)
*/
bool
@@ -181,6 +195,12 @@ uvm_pagecheckdirty(struct vm_page *pg, b
return modified;
}
+/*
+ * uvm_cpu_get: get a pointer to the uvm per-cpu area.
+ *
+ * XXX this should not be here.
+ */
+
struct uvm_cpu *
uvm_cpu_get(void)
{
@@ -189,6 +209,12 @@ uvm_cpu_get(void)
return curcpu()->ci_data.cpu_uvm;
}
+/*
+ * uvm_cpu_put: put a pointer to the uvm per-cpu area.
+ *
+ * XXX this should not be here.
+ */
+
void
uvm_cpu_put(struct uvm_cpu *ucpu)
{