aboutsummaryrefslogtreecommitdiff
path: root/sys/vm
diff options
context:
space:
mode:
authorPaul Saab <ps@FreeBSD.org>2005-11-01 23:00:24 +0000
committerPaul Saab <ps@FreeBSD.org>2005-11-01 23:00:24 +0000
commitdd498befc4d5df87e5a624bf6f9523f71b711b26 (patch)
tree9f7c2b10da0b55a81cb1cbe8c5e6a42095f0dc40 /sys/vm
parentd394d454b0a4c79511c88c619628633db3c593da (diff)
downloadsrc-dd498befc4d5df87e5a624bf6f9523f71b711b26.tar.gz
src-dd498befc4d5df87e5a624bf6f9523f71b711b26.zip
Rate limit vnode_pager_putpages printfs to once a second.
Notes
Notes: svn path=/head/; revision=151951
Diffstat (limited to 'sys/vm')
-rw-r--r--sys/vm/vnode_pager.c11
1 files changed, 8 insertions, 3 deletions
diff --git a/sys/vm/vnode_pager.c b/sys/vm/vnode_pager.c
index 703f967e2a37..e6ac5bbe43be 100644
--- a/sys/vm/vnode_pager.c
+++ b/sys/vm/vnode_pager.c
@@ -1061,6 +1061,9 @@ vnode_pager_generic_putpages(vp, m, bytecount, flags, rtvals)
struct iovec aiov;
int error;
int ioflags;
+ int ppscheck = 0;
+ static struct timeval lastfail;
+ static int curfail;
object = vp->v_object;
count = bytecount / PAGE_SIZE;
@@ -1144,11 +1147,13 @@ vnode_pager_generic_putpages(vp, m, bytecount, flags, rtvals)
cnt.v_vnodepgsout += ncount;
if (error) {
- printf("vnode_pager_putpages: I/O error %d\n", error);
+ if ((ppscheck = ppsratecheck(&lastfail, &curfail, 1)))
+ printf("vnode_pager_putpages: I/O error %d\n", error);
}
if (auio.uio_resid) {
- printf("vnode_pager_putpages: residual I/O %d at %lu\n",
- auio.uio_resid, (u_long)m[0]->pindex);
+ if (ppscheck || ppsratecheck(&lastfail, &curfail, 1))
+ printf("vnode_pager_putpages: residual I/O %d at %lu\n",
+ auio.uio_resid, (u_long)m[0]->pindex);
}
for (i = 0; i < ncount; i++) {
rtvals[i] = VM_PAGER_OK;