From 4fd68c49858c03163dc7567fa5aaa921fd3f265d Mon Sep 17 00:00:00 2001 From: mm Date: Thu, 5 Jan 2012 10:03:14 +0000 Subject: [PATCH 36/65] MFC r228363, r228392: MFC r228363 (pjd): The vfs.zfs.txg.timeout sysctl can be safely modified at run time. MFC r228392 (pjd) [1]: Move ru_inblock increment into arc_read_nolock() so we don't account for cached reads. Discussed with: gibbs No objections from: avg Tested by: Marcus Reid [1] Approved by: pjd git-svn-id: http://svn.freebsd.org/base/stable/9@229568 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f (cherry picked from commit 24148635e1cf87145d04d264d6a27ae898845781) Signed-off-by: Xin Li --- .../contrib/opensolaris/uts/common/fs/zfs/arc.c | 3 +++ .../contrib/opensolaris/uts/common/fs/zfs/dbuf.c | 4 ---- .../contrib/opensolaris/uts/common/fs/zfs/txg.c | 2 +- 3 files changed, 4 insertions(+), 5 deletions(-) diff --git a/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c b/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c index 294c6fd..c2369d3 100644 --- a/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c +++ b/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c @@ -3105,6 +3105,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)) { /* diff --git a/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dbuf.c b/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dbuf.c index 7b47f87..dc9f482 100644 --- a/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dbuf.c +++ b/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dbuf.c @@ -627,10 +627,6 @@ dbuf_read(dmu_buf_impl_t *db, zio_t *zio, uint32_t flags) } else if (db->db_state == DB_UNCACHED) { spa_t *spa = dn->dn_objset->os_spa; -#ifdef _KERNEL - curthread->td_ru.ru_inblock++; -#endif - if (zio == NULL) zio = zio_root(spa, NULL, NULL, ZIO_FLAG_CANFAIL); dbuf_read_impl(db, zio, &flags); diff --git a/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/txg.c b/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/txg.c index cfc1687..2e35e9e 100644 --- a/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/txg.c +++ b/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/txg.c @@ -43,7 +43,7 @@ int zfs_txg_timeout = 5; /* max seconds worth of delta per txg */ SYSCTL_DECL(_vfs_zfs); SYSCTL_NODE(_vfs_zfs, OID_AUTO, txg, CTLFLAG_RW, 0, "ZFS TXG"); TUNABLE_INT("vfs.zfs.txg.timeout", &zfs_txg_timeout); -SYSCTL_INT(_vfs_zfs_txg, OID_AUTO, timeout, CTLFLAG_RDTUN, &zfs_txg_timeout, 0, +SYSCTL_INT(_vfs_zfs_txg, OID_AUTO, timeout, CTLFLAG_RW, &zfs_txg_timeout, 0, "Maximum seconds worth of delta per txg"); /* -- 1.7.8.3