aboutsummaryrefslogtreecommitdiff
path: root/sys/vm
diff options
context:
space:
mode:
authorMatthew Dillon <dillon@FreeBSD.org>2001-10-21 06:12:06 +0000
committerMatthew Dillon <dillon@FreeBSD.org>2001-10-21 06:12:06 +0000
commit57601bcb5d4cf26ded9c113c415157a0a736038a (patch)
tree4afa69cdc58ac96f2066d76fa0e5c5cbb818c07e /sys/vm
parent08b00f49c361d36984755af7bb37cf57349941e2 (diff)
downloadsrc-57601bcb5d4cf26ded9c113c415157a0a736038a.tar.gz
src-57601bcb5d4cf26ded9c113c415157a0a736038a.zip
Syntax cleanup and documentation, no operational changes.
MFC after: 1 day
Notes
Notes: svn path=/head/; revision=85272
Diffstat (limited to 'sys/vm')
-rw-r--r--sys/vm/vm_pageout.c14
1 files changed, 9 insertions, 5 deletions
diff --git a/sys/vm/vm_pageout.c b/sys/vm/vm_pageout.c
index 76920a0c2e9b..73ef06d349ce 100644
--- a/sys/vm/vm_pageout.c
+++ b/sys/vm/vm_pageout.c
@@ -294,8 +294,8 @@ more:
vm_page_test_dirty(p);
if ((p->dirty & p->valid) == 0 ||
p->queue != PQ_INACTIVE ||
- p->wire_count != 0 ||
- p->hold_count != 0) {
+ p->wire_count != 0 || /* may be held by buf cache */
+ p->hold_count != 0) { /* may be undergoing I/O */
ib = 0;
break;
}
@@ -323,8 +323,8 @@ more:
vm_page_test_dirty(p);
if ((p->dirty & p->valid) == 0 ||
p->queue != PQ_INACTIVE ||
- p->wire_count != 0 ||
- p->hold_count != 0) {
+ p->wire_count != 0 || /* may be held by buf cache */
+ p->hold_count != 0) { /* may be undergoing I/O */
break;
}
mc[page_base + pageout_count] = p;
@@ -714,6 +714,9 @@ rescan0:
if (m->flags & PG_MARKER)
continue;
+ /*
+ * A held page may be undergoing I/O, so skip it.
+ */
if (m->hold_count) {
vm_pageq_requeue(m);
addl_page_shortage++;
@@ -904,7 +907,8 @@ rescan0:
}
/*
- * If the page has become held, then skip it
+ * If the page has become held it might
+ * be undergoing I/O, so skip it
*/
if (m->hold_count) {
vm_pageq_requeue(m);