Skip to content

Commit

Permalink
Disable user space reference tracking
Browse files Browse the repository at this point in the history
The memory and cpu cost of reference count tracking with the current
implementation is significant.  For this reason it has always been
disabled by default for the kmods.  Apply this same default to user
space so ztest doesn't always incur this performance penalty.

Our intention is to re-enable this by default for ztest once the code
has been optimized.  Since we expect to at some point provide a FUSE
implementation we wouldn't want this enabled by default for libzpool.

Reviewed-by: Ryan Moeller <[email protected]>
Signed-off-by: Brian Behlendorf <[email protected]>
Closes openzfs#10189
  • Loading branch information
behlendorf authored and jsai20 committed Mar 30, 2021
1 parent 8ac287c commit a9354b3
Showing 1 changed file with 6 additions and 5 deletions.
11 changes: 6 additions & 5 deletions module/zfs/refcount.c
Original file line number Diff line number Diff line change
Expand Up @@ -26,11 +26,12 @@
#include <sys/zfs_context.h>
#include <sys/refcount.h>

#ifdef _KERNEL
int reference_tracking_enable = FALSE; /* runs out of memory too easily */
#else
int reference_tracking_enable = TRUE;
#endif
/*
* Reference count tracking is disabled by default. It's memory requirements
* are reasonable, however as implemented it consumes a significant amount of
* cpu time. Until its performance is improved it should be manually enabled.
*/
int reference_tracking_enable = FALSE;
int reference_history = 3; /* tunable */

#ifdef ZFS_DEBUG
Expand Down

0 comments on commit a9354b3

Please sign in to comment.