summaryrefslogtreecommitdiffstats
path: root/sys/vm
diff options
context:
space:
mode:
authoralc <alc@FreeBSD.org>2003-04-20 20:37:14 +0000
committeralc <alc@FreeBSD.org>2003-04-20 20:37:14 +0000
commitcc0f04fdcf61d6d190f15f632f4dedfdc8522e98 (patch)
treed94bd0ac1b642051401ddd4ecfac6c462949dc9e /sys/vm
parentff1c2d5b6d876ce21951a40e823d0e325339ec57 (diff)
downloadFreeBSD-src-cc0f04fdcf61d6d190f15f632f4dedfdc8522e98.zip
FreeBSD-src-cc0f04fdcf61d6d190f15f632f4dedfdc8522e98.tar.gz
- Lock the vm_object when performing vm_object_pip_wakeup().
- Merge two identical cases in a switch statement.
Diffstat (limited to 'sys/vm')
-rw-r--r--sys/vm/vm_pageout.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/sys/vm/vm_pageout.c b/sys/vm/vm_pageout.c
index 0ea8390..4139e71 100644
--- a/sys/vm/vm_pageout.c
+++ b/sys/vm/vm_pageout.c
@@ -397,14 +397,13 @@ vm_pageout_flush(mc, count, flags)
(flags | ((object == kernel_object) ? VM_PAGER_PUT_SYNC : 0)),
pageout_status);
+ VM_OBJECT_LOCK(object);
vm_page_lock_queues();
for (i = 0; i < count; i++) {
vm_page_t mt = mc[i];
switch (pageout_status[i]) {
case VM_PAGER_OK:
- numpagedout++;
- break;
case VM_PAGER_PEND:
numpagedout++;
break;
@@ -443,6 +442,7 @@ vm_pageout_flush(mc, count, flags)
pmap_page_protect(mt, VM_PROT_READ);
}
}
+ VM_OBJECT_UNLOCK(object);
return numpagedout;
}
OpenPOWER on IntegriCloud