svn commit: r229569 -
stable/8/sys/cddl/contrib/opensolaris/uts/common/fs/zfs
Martin Matuska
mm at FreeBSD.org
Thu Jan 5 10:09:23 UTC 2012
Author: mm
Date: Thu Jan 5 10:09:22 2012
New Revision: 229569
URL: http://svn.freebsd.org/changeset/base/229569
Log:
MFC r226620, r228392:
MFC r226620 (pjd):
Update per-thread I/O statistics collection in ZFS.
This allows to see processes I/O activity in 'top -m io' output.
MFC r228392 (pjd):
Move ru_inblock increment into arc_read_nolock() so we don't account for
cached reads.
PR: kern/156218
Reported by: Marcus Reid <marcus at blazingdot.com>
Patch by: avg
Approved by: pjd
Modified:
stable/8/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c
stable/8/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu.c
Directory Properties:
stable/8/sys/ (props changed)
stable/8/sys/cddl/contrib/opensolaris/ (props changed)
Modified: stable/8/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c
==============================================================================
--- stable/8/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c Thu Jan 5 10:03:14 2012 (r229568)
+++ stable/8/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c Thu Jan 5 10:09:22 2012 (r229569)
@@ -3103,6 +3103,9 @@ top:
ARCSTAT_CONDSTAT(!(hdr->b_flags & ARC_PREFETCH),
demand, prefetch, hdr->b_type != ARC_BUFC_METADATA,
data, metadata, misses);
+#ifdef _KERNEL
+ curthread->td_ru.ru_inblock++;
+#endif
if (vd != NULL && l2arc_ndev != 0 && !(l2arc_norw && devw)) {
/*
Modified: stable/8/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu.c
==============================================================================
--- stable/8/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu.c Thu Jan 5 10:03:14 2012 (r229568)
+++ stable/8/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu.c Thu Jan 5 10:09:22 2012 (r229569)
@@ -397,9 +397,12 @@ dmu_buf_hold_array_by_dnode(dnode_t *dn,
return (EIO);
}
/* initiate async i/o */
- if (read) {
+ if (read)
(void) dbuf_read(db, zio, dbuf_flags);
- }
+#ifdef _KERNEL
+ else
+ curthread->td_ru.ru_oublock++;
+#endif
dbp[i] = &db->db;
}
rw_exit(&dn->dn_struct_rwlock);
More information about the svn-src-all
mailing list