svn commit: r272585 - vendor-sys/illumos/dist/uts/common/fs/zfs vendor-sys/illumos/dist/uts/common/fs/zfs/sys vendor/illumos/dist/cmd/zdb

Xin LI delphij at FreeBSD.org
Mon Oct 6 05:54:40 UTC 2014


Author: delphij
Date: Mon Oct  6 05:54:39 2014
New Revision: 272585
URL: https://svnweb.freebsd.org/changeset/base/272585

Log:
  5176 lock contention on godfather zio
  Reviewed by: Adam Leventhal <ahl at delphix.com>
  Reviewed by: Alex Reece <alex.reece at delphix.com>
  Reviewed by: Christopher Siden <christopher.siden at delphix.com>
  Reviewed by: George Wilson <george.wilson at delphix.com>
  Reviewed by: Richard Elling <richard.elling at gmail.com>
  Reviewed by: Bayard Bell <Bayard.Bell at nexenta.com>
  Approved by: Garrett D'Amore <garrett at damore.org>
  Author: Matthew Ahrens <mahrens at delphix.com>
  
  illumos/illumos-gate at 6f834bc197c703a6568554c889157fb345bac079

Modified:
  vendor/illumos/dist/cmd/zdb/zdb.c

Changes in other areas also in this revision:
Modified:
  vendor-sys/illumos/dist/uts/common/fs/zfs/spa.c
  vendor-sys/illumos/dist/uts/common/fs/zfs/sys/spa_impl.h
  vendor-sys/illumos/dist/uts/common/fs/zfs/zio.c

Modified: vendor/illumos/dist/cmd/zdb/zdb.c
==============================================================================
--- vendor/illumos/dist/cmd/zdb/zdb.c	Mon Oct  6 05:46:51 2014	(r272584)
+++ vendor/illumos/dist/cmd/zdb/zdb.c	Mon Oct  6 05:54:39 2014	(r272585)
@@ -2565,10 +2565,12 @@ dump_block_stats(spa_t *spa)
 	 * all async I/Os to complete.
 	 */
 	if (dump_opt['c']) {
-		(void) zio_wait(spa->spa_async_zio_root);
-		spa->spa_async_zio_root = zio_root(spa, NULL, NULL,
-		    ZIO_FLAG_CANFAIL | ZIO_FLAG_SPECULATIVE |
-		    ZIO_FLAG_GODFATHER);
+		for (int i = 0; i < max_ncpus; i++) {
+			(void) zio_wait(spa->spa_async_zio_root[i]);
+			spa->spa_async_zio_root[i] = zio_root(spa, NULL, NULL,
+			    ZIO_FLAG_CANFAIL | ZIO_FLAG_SPECULATIVE |
+			    ZIO_FLAG_GODFATHER);
+		}
 	}
 
 	if (zcb.zcb_haderrors) {


More information about the svn-src-all mailing list