summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorkib <kib@FreeBSD.org>2010-07-04 19:02:32 +0000
committerkib <kib@FreeBSD.org>2010-07-04 19:02:32 +0000
commitd3c3c803cc1d67fceedc8bd14775e038eeae31c7 (patch)
tree84b93e671e9e8c2ef987db121172f7d09b8cd430
parent4de7ec3dbbe45af222a8e20d116f56a05b09b0ea (diff)
downloadFreeBSD-src-d3c3c803cc1d67fceedc8bd14775e038eeae31c7.zip
FreeBSD-src-d3c3c803cc1d67fceedc8bd14775e038eeae31c7.tar.gz
Several cleanups for the r209686:
- remove unused defines; - remove unused curgeneration argument for vm_object_page_collect_flush(); - always assert that vm_object_page_clean() is called for OBJT_VNODE; - move vm_page_find_least() into for() statement initial clause. Submitted by: alc
-rw-r--r--sys/vm/vm_object.c19
1 files changed, 6 insertions, 13 deletions
diff --git a/sys/vm/vm_object.c b/sys/vm/vm_object.c
index 7f29adb..83039b2 100644
--- a/sys/vm/vm_object.c
+++ b/sys/vm/vm_object.c
@@ -96,17 +96,13 @@ __FBSDID("$FreeBSD$");
#include <vm/vm_reserv.h>
#include <vm/uma.h>
-#define EASY_SCAN_FACTOR 8
-
-#define MSYNC_FLUSH_HARDSEQ 0x01
-#define MSYNC_FLUSH_SOFTSEQ 0x02
-
static int old_msync;
SYSCTL_INT(_vm, OID_AUTO, old_msync, CTLFLAG_RW, &old_msync, 0,
"Use old (insecure) msync behavior");
+static int vm_object_page_collect_flush(vm_object_t object, vm_page_t p,
+ int pagerflags);
static void vm_object_qcollapse(vm_object_t object);
-static int vm_object_page_collect_flush(vm_object_t object, vm_page_t p, int curgeneration, int pagerflags);
static void vm_object_vndeallocate(vm_object_t object);
/*
@@ -764,10 +760,10 @@ vm_object_page_clean(vm_object_t object, vm_pindex_t start, vm_pindex_t end,
mtx_assert(&vm_page_queue_mtx, MA_NOTOWNED);
VM_OBJECT_LOCK_ASSERT(object, MA_OWNED);
+ KASSERT(object->type == OBJT_VNODE, ("Not a vnode object"));
if ((object->flags & OBJ_MIGHTBEDIRTY) == 0 ||
object->resident_page_count == 0)
return;
- KASSERT(object->type == OBJT_VNODE, ("Not a vnode object"));
pagerflags = (flags & (OBJPC_SYNC | OBJPC_INVAL)) != 0 ?
VM_PAGER_PUT_SYNC : VM_PAGER_CLUSTER_OK;
@@ -798,10 +794,9 @@ vm_object_page_clean(vm_object_t object, vm_pindex_t start, vm_pindex_t end,
vm_object_clear_flag(object, OBJ_MIGHTBEDIRTY);
rescan:
- p = vm_page_find_least(object, start);
curgeneration = object->generation;
- for (; p != NULL; p = np) {
+ for (p = vm_page_find_least(object, start); p != NULL; p = np) {
pi = p->pindex;
if (pi >= tend)
break;
@@ -825,8 +820,7 @@ rescan:
(p->oflags & VPO_NOSYNC) != 0)
continue;
- n = vm_object_page_collect_flush(object, p,
- curgeneration, pagerflags);
+ n = vm_object_page_collect_flush(object, p, pagerflags);
KASSERT(n > 0, ("vm_object_page_collect_flush failed"));
if (object->generation != curgeneration)
goto rescan;
@@ -840,8 +834,7 @@ rescan:
}
static int
-vm_object_page_collect_flush(vm_object_t object, vm_page_t p, int curgeneration,
- int pagerflags)
+vm_object_page_collect_flush(vm_object_t object, vm_page_t p, int pagerflags)
{
int runlen;
int maxf;
OpenPOWER on IntegriCloud