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
..
2016-12-12 10:46:26 -08:00
2017-01-03 11:31:18 -06:00
2015-01-16 14:41:26 -08:00
2016-01-08 15:08:19 -08:00
2017-01-03 11:31:18 -06:00
2015-01-16 14:41:26 -08:00
2017-01-03 11:31:18 -06:00
2016-11-02 12:14:45 -07:00
2017-01-03 11:31:18 -06:00
2016-12-12 10:46:26 -08:00
2016-06-28 13:47:02 -07:00
2017-01-03 11:31:18 -06:00
2016-12-12 10:46:26 -08:00
2016-12-12 10:46:26 -08:00
2017-01-03 11:31:18 -06:00
2015-01-16 14:41:26 -08:00
2015-12-22 10:21:33 -08:00
2016-04-21 09:49:25 -07:00
2017-01-03 11:31:18 -06:00
2017-01-03 11:31:18 -06:00
2017-01-03 11:31:18 -06:00
2010-08-31 13:41:58 -07:00
2017-01-03 11:31:18 -06:00
2016-08-11 11:23:49 -07:00
2017-01-03 11:31:18 -06:00
2016-12-02 16:57:49 -07:00
2017-01-03 11:31:18 -06:00
2016-11-29 14:34:33 -08:00
2016-11-29 14:34:33 -08:00
2013-10-31 14:58:04 -07:00
2017-01-03 11:31:18 -06:00
2017-01-03 11:31:18 -06:00
2010-08-31 13:41:58 -07:00
2016-09-21 18:09:00 -07:00
2017-01-03 11:31:18 -06:00
2016-11-30 16:18:20 -07:00
2017-01-03 11:31:18 -06:00
2016-12-16 13:54:51 -08:00
2017-01-03 11:31:18 -06:00
2016-12-16 12:46:46 -08:00
2016-05-31 16:04:26 -07:00
2017-01-03 11:31:18 -06:00
2017-01-03 11:31:18 -06:00