summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGiuseppe Di Natale <[email protected]>2017-01-31 14:36:35 -0800
committerBrian Behlendorf <[email protected]>2017-01-31 14:36:35 -0800
commitd69a321e567bf57c08f243969031545866abaf9d (patch)
treebcd06962f84040ed069c5e27b9a0b579bfa9d542
parent3d91261599447833fb96e99055d1108ea2b0c171 (diff)
OpenZFS 7545 - zdb should disable reference tracking
Authored by: Matthew Ahrens <[email protected]> Reviewed by: Dan Kimmel <[email protected]> Reviewed by: Steve Gonczi <[email protected]> Reviewed by: George Wilson <[email protected]> Approved by: Robert Mustacchi <[email protected]> Reviewed-by: Brian Behlendorf <[email protected]> Ported-by: Giuseppe Di Natale <[email protected]> Porting Notes: Moved reference_tracking_enable and reference_history outside of ZFS_DEBUG. OpenZFS-issue: https://www.illumos.org/issues/7545 OpenZFS-commit: https://github.com/openzfs/openzfs/commit/4dd77f9 Closes #5701
-rw-r--r--cmd/zdb/zdb.c7
-rw-r--r--module/zfs/refcount.c3
2 files changed, 8 insertions, 2 deletions
diff --git a/cmd/zdb/zdb.c b/cmd/zdb/zdb.c
index 10bca4a91..cc4b0340f 100644
--- a/cmd/zdb/zdb.c
+++ b/cmd/zdb/zdb.c
@@ -84,10 +84,12 @@ zdb_ot_name(dmu_object_type_t type)
}
#ifndef lint
+extern int reference_tracking_enable;
extern int zfs_recover;
extern uint64_t zfs_arc_max, zfs_arc_meta_limit;
extern int zfs_vdev_async_read_max_active;
#else
+int reference_tracking_enable;
int zfs_recover;
uint64_t zfs_arc_max, zfs_arc_meta_limit;
int zfs_vdev_async_read_max_active;
@@ -3813,6 +3815,11 @@ main(int argc, char **argv)
*/
zfs_vdev_async_read_max_active = 10;
+ /*
+ * Disable reference tracking for better performance.
+ */
+ reference_tracking_enable = B_FALSE;
+
kernel_init(FREAD);
if ((g_zfs = libzfs_init()) == NULL) {
(void) fprintf(stderr, "%s", libzfs_error_init(errno));
diff --git a/module/zfs/refcount.c b/module/zfs/refcount.c
index 6f8f4db08..b33874714 100644
--- a/module/zfs/refcount.c
+++ b/module/zfs/refcount.c
@@ -26,8 +26,6 @@
#include <sys/zfs_context.h>
#include <sys/refcount.h>
-#ifdef ZFS_DEBUG
-
#ifdef _KERNEL
int reference_tracking_enable = FALSE; /* runs out of memory too easily */
#else
@@ -35,6 +33,7 @@ int reference_tracking_enable = TRUE;
#endif
int reference_history = 3; /* tunable */
+#ifdef ZFS_DEBUG
static kmem_cache_t *reference_cache;
static kmem_cache_t *reference_history_cache;