]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/commit - sys/boot/sparc64/loader/metadata.c
MFV r316860: 7545 zdb should disable reference tracking
authorAndriy Gapon <avg@FreeBSD.org>
Wed, 24 May 2017 20:41:26 +0000 (20:41 +0000)
committerAndriy Gapon <avg@FreeBSD.org>
Wed, 24 May 2017 20:41:26 +0000 (20:41 +0000)
commitc65389d3677068e64b8eefb438f814d75476b8fa
tree1d5332f733e19b98e4ed26e709449b7d91b665f0
parent04fe6458d3f2e4a0648c7ab8df38d366b1829423
parent60d1053c22f0b8b7be2e27d8f6e4632b52342881
MFV r316860: 7545 zdb should disable reference tracking

illumos/illumos-gate@4dd77f9e38ef05b39db128ff7608d926fd3218c6
https://github.com/illumos/illumos-gate/commit/4dd77f9e38ef05b39db128ff7608d926fd3218c6

https://www.illumos.org/issues/7545
  When evicting from the ARC, we manipulate some refcount_t's, e.g. arcs_size.
  When using zdb to examine a large amount of data (e.g. zdb -bb on a large pool
  with small blocks), the ARC may have a large number of entries. If reference
  tracking is enabled, there will be ~1 reference for each block in the ARC. When
  evicting, we decrement the refcount and have to search all the references to
  find the one that we are removing, which is very slow.
  Since zdb is typically used to find problems with the on-disk format, and not
  with the code it is running, we should disable reference tracking in zdb.

Reviewed by: Dan Kimmel <dan.kimmel@delphix.com>
Reviewed by: Steve Gonczi <steve.gonczi@delphix.com>
Reviewed by: George Wilson <george.wilson@delphix.com>
Approved by: Robert Mustacchi <rm@joyent.com>
Author: Matthew Ahrens <mahrens@delphix.com>

MFC after: 2 weeks
cddl/contrib/opensolaris/cmd/zdb/zdb.c