svn commit: r303774 - user/alc/PQ_LAUNDRY/sys/vm
Alan Cox
alc at FreeBSD.org
Fri Aug 5 16:49:33 UTC 2016
Author: alc
Date: Fri Aug 5 16:49:32 2016
New Revision: 303774
URL: https://svnweb.freebsd.org/changeset/base/303774
Log:
A second attempt at avoiding spurious "cycle" decrements.
Modified:
user/alc/PQ_LAUNDRY/sys/vm/vm_pageout.c
Modified: user/alc/PQ_LAUNDRY/sys/vm/vm_pageout.c
==============================================================================
--- user/alc/PQ_LAUNDRY/sys/vm/vm_pageout.c Fri Aug 5 16:44:11 2016 (r303773)
+++ user/alc/PQ_LAUNDRY/sys/vm/vm_pageout.c Fri Aug 5 16:49:32 2016 (r303774)
@@ -1078,6 +1078,7 @@ vm_pageout_laundry_worker(void *arg)
* The pageout laundry worker is never done, so loop forever.
*/
for (;;) {
+ KASSERT(cycle >= 0, ("negative cycle %d", cycle));
KASSERT(target >= 0, ("negative target %d", target));
launder = 0;
@@ -1111,7 +1112,7 @@ vm_pageout_laundry_worker(void *arg)
if (vm_laundry_target() <= 0 || cycle == 0) {
shortfall = prev_shortfall = target = 0;
} else {
- launder = target / cycle;
+ launder = target / cycle--;
goto dolaundry;
}
}
@@ -1162,7 +1163,7 @@ vm_pageout_laundry_worker(void *arg)
target = min(target, bkgrd_launder_max);
}
if (target > 0 && cycle != 0)
- launder = target / cycle;
+ launder = target / cycle--;
dolaundry:
if (launder > 0)
@@ -1171,7 +1172,6 @@ dolaundry:
tsleep(&vm_cnt.v_laundry_count, PVM, "laundr",
hz / VM_LAUNDER_INTERVAL);
- cycle--;
}
}
More information about the svn-src-user
mailing list