freebsd-dev/module/zfs
Don Brady 4e21fd060a OpenZFS 7303 - dynamic metaslab selection
This change introduces a new weighting algorithm to improve
metaslab selection. The new weighting algorithm relies on the
SPACEMAP_HISTOGRAM feature. As a result, the metaslab weight
now encodes the type of weighting algorithm used (size-based
vs segment-based).

Porting Notes: The metaslab allocation tracing code is conditionally
removed on linux (dependent on mdb debugger).

Authored by: George Wilson <george.wilson@delphix.com>
Reviewed by: Alex Reece <alex@delphix.com>
Reviewed by: Chris Siden <christopher.siden@delphix.com>
Reviewed by: Dan Kimmel <dan.kimmel@delphix.com>
Reviewed by: Matthew Ahrens <mahrens@delphix.com>
Reviewed by: Paul Dagnelie <paul.dagnelie@delphix.com>
Reviewed by: Pavel Zakharov pavel.zakharov@delphix.com
Reviewed by: Prakash Surya <prakash.surya@delphix.com>
Reviewed by: Don Brady <don.brady@intel.com>
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Ported-by: Don Brady <don.brady@intel.com>

OpenZFS-issue: https://www.illumos.org/issues/7303
OpenZFS-commit: https://github.com/openzfs/openzfs/commit/d5190931bd
Closes #5404
2017-01-12 11:52:56 -08:00
..
abd.c Use cstyle -cpP in make cstyle check 2016-12-12 10:46:26 -08:00
arc.c Fix spelling 2017-01-03 11:31:18 -06:00
blkptr.c DLPX-44812 integrate EP-220 large memory scalability 2016-11-29 14:34:27 -08:00
bplist.c
bpobj.c
bptree.c
bqueue.c Fix coverity defects: CID 147565-147567 2016-10-07 13:19:43 -07:00
dbuf_stats.c OpenZFS 6950 - ARC should cache compressed data 2016-09-13 09:58:33 -07:00
dbuf.c Fix spelling 2017-01-03 11:31:18 -06:00
ddt_zap.c
ddt.c Cache ddt_get_dedup_dspace() value if there was no ddt changes 2016-12-02 16:59:35 -07:00
dmu_diff.c OpenZFS 6950 - ARC should cache compressed data 2016-09-13 09:58:33 -07:00
dmu_object.c Implement large_dnode pool feature 2016-06-24 13:13:21 -07:00
dmu_objset.c Fix spelling 2017-01-03 11:31:18 -06:00
dmu_send.c Use cstyle -cpP in make cstyle check 2016-12-12 10:46:26 -08:00
dmu_traverse.c Add TASKQID_INVALID 2016-11-02 12:14:45 -07:00
dmu_tx.c Fix coverity defects: CID 147575, 147577, 147578, 147579 2016-11-07 14:54:32 -08:00
dmu_zfetch.c Use cstyle -cpP in make cstyle check 2016-12-12 10:46:26 -08:00
dmu.c DLPX-44812 integrate EP-220 large memory scalability 2016-11-29 14:34:27 -08:00
dnode_sync.c Fix spelling 2017-01-03 11:31:18 -06:00
dnode.c Use cstyle -cpP in make cstyle check 2016-12-12 10:46:26 -08:00
dsl_bookmark.c OpenZFS 6314 - buffer overflow in dsl_dataset_name 2016-06-28 13:47:03 -07:00
dsl_dataset.c OpenZFS 6328 - Fix cstyle errors in zfs codebase 2017-01-12 09:42:11 -08:00
dsl_deadlist.c Performance optimization of AVL tree comparator functions 2016-08-31 14:35:34 -07:00
dsl_deleg.c Performance optimization of AVL tree comparator functions 2016-08-31 14:35:34 -07:00
dsl_destroy.c OpenZFS 2605, 6980, 6902 2016-06-28 13:47:02 -07:00
dsl_dir.c Fix coverity defects: 147658, 147652, 147651 2016-09-29 12:06:14 -07:00
dsl_pool.c Use cstyle -cpP in make cstyle check 2016-12-12 10:46:26 -08:00
dsl_prop.c Fix dsl_props_set_sync_impl to work with nested nvlist 2016-12-20 18:46:59 -08:00
dsl_scan.c Fix spelling 2017-01-03 11:31:18 -06:00
dsl_synctask.c
dsl_userhold.c OpenZFS 6314 - buffer overflow in dsl_dataset_name 2016-06-28 13:47:03 -07:00
edonr_zfs.c DLPX-44812 integrate EP-220 large memory scalability 2016-11-29 14:34:27 -08:00
fm.c Use cstyle -cpP in make cstyle check 2016-12-12 10:46:26 -08:00
gzip.c Use cstyle -cpP in make cstyle check 2016-12-12 10:46:26 -08:00
lz4.c Fix spelling 2017-01-03 11:31:18 -06:00
lzjb.c
Makefile.in DLPX-44812 integrate EP-220 large memory scalability 2016-11-29 14:34:27 -08:00
metaslab.c OpenZFS 7303 - dynamic metaslab selection 2017-01-12 11:52:56 -08:00
multilist.c
pathname.c Add pn_alloc()/pn_free() functions 2016-04-21 09:49:25 -07:00
policy.c Fix spelling 2017-01-03 11:31:18 -06:00
range_tree.c Performance optimization of AVL tree comparator functions 2016-08-31 14:35:34 -07:00
refcount.c OpenZFS 7090 - zfs should throttle allocations 2016-10-13 17:59:18 -07:00
rrwlock.c Fix spelling 2017-01-03 11:31:18 -06:00
sa.c Fix spelling 2017-01-03 11:31:18 -06:00
sha256.c DLPX-44812 integrate EP-220 large memory scalability 2016-11-29 14:34:27 -08:00
skein_zfs.c DLPX-44812 integrate EP-220 large memory scalability 2016-11-29 14:34:27 -08:00
spa_boot.c
spa_config.c Fix spelling 2017-01-03 11:31:18 -06:00
spa_errlog.c
spa_history.c Fix indefinite article 2016-08-11 11:23:49 -07:00
spa_misc.c OpenZFS 7303 - dynamic metaslab selection 2017-01-12 11:52:56 -08:00
spa_stats.c Fix spelling 2017-01-03 11:31:18 -06:00
spa.c OpenZFS 7303 - dynamic metaslab selection 2017-01-12 11:52:56 -08:00
space_map.c OpenZFS 7303 - dynamic metaslab selection 2017-01-12 11:52:56 -08:00
space_reftree.c OpenZFS 6328 - Fix cstyle errors in zfs codebase 2017-01-12 09:42:11 -08:00
trace.c OpenZFS 6531 - Provide mechanism to artificially limit disk performance 2016-05-26 10:11:51 -07:00
txg.c Refactor txg history kstat 2016-12-02 16:57:49 -07:00
uberblock.c
unique.c Performance optimization of AVL tree comparator functions 2016-08-31 14:35:34 -07:00
vdev_cache.c DLPX-44812 integrate EP-220 large memory scalability 2016-11-29 14:34:27 -08:00
vdev_disk.c 4.10 compat - BIO flag changes and others 2016-12-30 16:03:59 -06:00
vdev_file.c Use a dedicated taskq for vdev_file 2016-12-21 10:47:15 -08:00
vdev_label.c OpenZFS 6328 - Fix cstyle errors in zfs codebase 2017-01-12 09:42:11 -08:00
vdev_mirror.c Fix spelling 2017-01-03 11:31:18 -06:00
vdev_missing.c
vdev_queue.c Use cstyle -cpP in make cstyle check 2016-12-12 10:46:26 -08:00
vdev_raidz_math_aarch64_neon_common.h ABD raidz NEON support 2016-11-29 14:34:33 -08:00
vdev_raidz_math_aarch64_neon.c ABD raidz NEON support 2016-11-29 14:34:33 -08:00
vdev_raidz_math_aarch64_neonx2.c ABD raidz NEON support 2016-11-29 14:34:33 -08:00
vdev_raidz_math_avx2.c ABD raidz avx512f support 2016-11-29 14:34:33 -08:00
vdev_raidz_math_avx512bw.c ABD: Adapt avx512bw raidz assembly 2016-12-15 17:31:33 -08:00
vdev_raidz_math_avx512f.c Use cstyle -cpP in make cstyle check 2016-12-12 10:46:26 -08:00
vdev_raidz_math_impl.h Use cstyle -cpP in make cstyle check 2016-12-12 10:46:26 -08:00
vdev_raidz_math_scalar.c ABD Vectorized raidz 2016-11-29 14:34:33 -08:00
vdev_raidz_math_sse2.c ABD raidz avx512f support 2016-11-29 14:34:33 -08:00
vdev_raidz_math_ssse3.c ABD raidz avx512f support 2016-11-29 14:34:33 -08:00
vdev_raidz_math.c ABD: Adapt avx512bw raidz assembly 2016-12-15 17:31:33 -08:00
vdev_raidz.c ABD changes for vectorized RAIDZ 2016-11-29 14:34:33 -08:00
vdev_root.c
vdev.c Fix spelling 2017-01-03 11:31:18 -06:00
zap_leaf.c OpenZFS 6328 - Fix cstyle errors in zfs codebase 2017-01-12 09:42:11 -08:00
zap_micro.c Fix spelling 2017-01-03 11:31:18 -06:00
zap.c Avoid undefined shift overflow in fzap_cursor_retrieve() 2016-09-29 15:55:41 -07:00
zfeature_common.c OpenZFS 6328 - Fix cstyle errors in zfs codebase 2017-01-12 09:42:11 -08:00
zfeature.c OpenZFS 6328 - Fix cstyle errors in zfs codebase 2017-01-12 09:42:11 -08:00
zfs_acl.c Fix unlinked file cannot do xattr operations 2016-11-04 10:46:40 -07:00
zfs_byteswap.c
zfs_ctldir.c Use cstyle -cpP in make cstyle check 2016-12-12 10:46:26 -08:00
zfs_debug.c Use cstyle -cpP in make cstyle check 2016-12-12 10:46:26 -08:00
zfs_dir.c OpenZFS 6328 - Fix cstyle errors in zfs codebase 2017-01-12 09:42:11 -08:00
zfs_fm.c Fix coverity defects: CID 147626, 147628 2016-11-08 14:28:17 -08:00
zfs_fuid.c Fix coverity defects 2016-09-21 18:09:00 -07:00
zfs_ioctl.c OpenZFS 6328 - Fix cstyle errors in zfs codebase 2017-01-12 09:42:11 -08:00
zfs_log.c OpenZFS 6328 - Fix cstyle errors in zfs codebase 2017-01-12 09:42:11 -08:00
zfs_onexit.c
zfs_replay.c OpenZFS 6328 - Fix cstyle errors in zfs codebase 2017-01-12 09:42:11 -08:00
zfs_rlock.c Fix spelling 2017-01-03 11:31:18 -06:00
zfs_sa.c Convert zio_buf_alloc() consumers 2016-11-30 16:18:20 -07:00
zfs_vfsops.c Fix zmo leak when zfs_sb_create fails 2016-12-19 09:46:29 -08:00
zfs_vnops.c Fix spelling 2017-01-03 11:31:18 -06:00
zfs_znode.c Use inode_set_flags when available 2016-12-16 13:54:51 -08:00
zil.c Fix spelling 2017-01-03 11:31:18 -06:00
zio_checksum.c DLPX-44812 integrate EP-220 large memory scalability 2016-11-29 14:34:27 -08:00
zio_compress.c DLPX-44812 integrate EP-220 large memory scalability 2016-11-29 14:34:27 -08:00
zio_inject.c Compile zio.h and zio_impl.h mutual include 2016-12-01 16:36:25 -07:00
zio.c OpenZFS 7303 - dynamic metaslab selection 2017-01-12 11:52:56 -08:00
zle.c
zpl_ctldir.c Linux 4.9 compat: iops->rename() wants flags 2016-10-20 09:39:09 -07:00
zpl_export.c Use cstyle -cpP in make cstyle check 2016-12-12 10:46:26 -08:00
zpl_file.c Fix fchange in zpl_ioctl_setflags 2016-12-16 12:46:46 -08:00
zpl_inode.c 4.10 compat - BIO flag changes and others 2016-12-30 16:03:59 -06:00
zpl_super.c Fix memleak in zpl_parse_options 2016-05-31 16:04:26 -07:00
zpl_xattr.c Fix spelling 2017-01-03 11:31:18 -06:00
zrlock.c OpenZFS 6328 - Fix cstyle errors in zfs codebase 2017-01-12 09:42:11 -08:00
zvol.c Fix spelling 2017-01-03 11:31:18 -06:00