diff options
author | alc <alc@FreeBSD.org> | 2003-04-20 20:37:14 +0000 |
---|---|---|
committer | alc <alc@FreeBSD.org> | 2003-04-20 20:37:14 +0000 |
commit | cc0f04fdcf61d6d190f15f632f4dedfdc8522e98 (patch) | |
tree | d94bd0ac1b642051401ddd4ecfac6c462949dc9e /sys/vm/vm_pageout.c | |
parent | ff1c2d5b6d876ce21951a40e823d0e325339ec57 (diff) | |
download | FreeBSD-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/vm_pageout.c')
-rw-r--r-- | sys/vm/vm_pageout.c | 4 |
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; } |