Author: avg
Date: Thu Mar 23 09:13:21 2017
New Revision: 315853
URL: https://svnweb.freebsd.org/changeset/base/315853

Log:
  zfs_putpages: use TXG_WAIT
  
  Explicit looping using TXG_NOWAIT is more verbose and may harm performance
  under heavy load because of multiple waits.
  
  MFC after:    1 week

Modified:
  head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c

Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c
==============================================================================
--- head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c     Thu Mar 
23 08:59:17 2017        (r315852)
+++ head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c     Thu Mar 
23 09:13:21 2017        (r315853)
@@ -4712,19 +4712,13 @@ zfs_putpages(struct vnode *vp, vm_page_t
                goto out;
        }
 
-top:
        tx = dmu_tx_create(zfsvfs->z_os);
        dmu_tx_hold_write(tx, zp->z_id, off, len);
 
        dmu_tx_hold_sa(tx, zp->z_sa_hdl, B_FALSE);
        zfs_sa_upgrade_txholds(tx, zp);
-       err = dmu_tx_assign(tx, TXG_NOWAIT);
+       err = dmu_tx_assign(tx, TXG_WAIT);
        if (err != 0) {
-               if (err == ERESTART) {
-                       dmu_tx_wait(tx);
-                       dmu_tx_abort(tx);
-                       goto top;
-               }
                dmu_tx_abort(tx);
                goto out;
        }
_______________________________________________
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to