summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authormav <mav@FreeBSD.org>2014-02-18 14:56:44 +0000
committermav <mav@FreeBSD.org>2014-02-18 14:56:44 +0000
commitafa027f3f568c9647fd596026f6fb803d3d2887c (patch)
treef94da5e3940ad76ae8f99c33caed183e591cb38f
parentc9f2fff1da752248a19cc8a978f43fd521639708 (diff)
downloadFreeBSD-src-afa027f3f568c9647fd596026f6fb803d3d2887c.zip
FreeBSD-src-afa027f3f568c9647fd596026f6fb803d3d2887c.tar.gz
MFC r260236:
In dmu_zfetch_stream_reclaim() replace division with multiplication and move it out of the loop and lock.
-rw-r--r--sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_zfetch.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_zfetch.c b/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_zfetch.c
index 647ad9e..d51a981 100644
--- a/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_zfetch.c
+++ b/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_zfetch.c
@@ -604,14 +604,16 @@ static zstream_t *
dmu_zfetch_stream_reclaim(zfetch_t *zf)
{
zstream_t *zs;
+ clock_t ticks;
+ ticks = zfetch_min_sec_reap * hz;
if (! rw_tryenter(&zf->zf_rwlock, RW_WRITER))
return (0);
for (zs = list_head(&zf->zf_stream); zs;
zs = list_next(&zf->zf_stream, zs)) {
- if (((ddi_get_lbolt() - zs->zst_last)/hz) > zfetch_min_sec_reap)
+ if (ddi_get_lbolt() - zs->zst_last > ticks)
break;
}
OpenPOWER on IntegriCloud