On Tue, 2012-01-03 at 04:46 -0800, Florian Smeets wrote: > Yes, the patch fixes the problem. The cvs2svn run completed this time. > > 9132.25 real 8387.05 user 403.86 sys > > I did not see any significant syncer activity in top -S anymore. > > Thanks a lot. > Florian
Currently running stable-9 + this patch on crush.freebsd.org. First run
was successful and took about 4 hours start to finish. Nicely done
folks.
diff --git a/sys/vm/vm_object.c b/sys/vm/vm_object.c
index 716916f..52fc08b 100644
--- a/sys/vm/vm_object.c
+++ b/sys/vm/vm_object.c
@@ -841,7 +841,8 @@ rescan:
if (p->valid == 0)
continue;
if (vm_page_sleep_if_busy(p, TRUE, "vpcwai")) {
- if (object->generation != curgeneration)
+ if ((flags & OBJPC_SYNC) != 0 &&
+ object->generation != curgeneration)
goto rescan;
np = vm_page_find_least(object, pi);
continue;
@@ -851,7 +852,8 @@ rescan:
n = vm_object_page_collect_flush(object, p, pagerflags,
flags, &clearobjflags);
- if (object->generation != curgeneration)
+ if ((flags & OBJPC_SYNC) != 0 &&
+ object->generation != curgeneration)
goto rescan;
/*
signature.asc
Description: This is a digitally signed message part
