Illumos #3329, #3330, #3331, #3335
authorGeorge Wilson <george.wilson@delphix.com>
Mon, 6 May 2013 17:14:52 +0000 (10:14 -0700)
committerBrian Behlendorf <behlendorf1@llnl.gov>
Mon, 6 May 2013 19:39:34 +0000 (12:39 -0700)
commit55d85d5a8c45c4559a4a0e675c37b0c3afb19c2f
treede4e1e0564aa00bb1dcb8b91c15e9655f7f36248
parent5853fe790d1df58c5dd85ea52c5e165b6d43013c
Illumos #3329, #3330, #3331, #3335

3329 spa_sync() spends 10-20% of its time in spa_free_sync_cb()
3330 space_seg_t should have its own kmem_cache
3331 deferred frees should happen after sync_pass 1
3335 make SYNC_PASS_* constants tunable

Reviewed by: Adam Leventhal <ahl@delphix.com>
Reviewed by: Matt Ahrens <matthew.ahrens@delphix.com>
Reviewed by: Christopher Siden <chris.siden@delphix.com>
Reviewed by: Eric Schrock <eric.schrock@delphix.com>
Reviewed by: Richard Lowe <richlowe@richlowe.net>
Reviewed by: Dan McDonald <danmcd@nexenta.com>
Approved by: Eric Schrock <eric.schrock@delphix.com>

References:
  illumos/illumos-gate@01f55e48fb4d524eaf70687728aa51b7762e2e97
  https://www.illumos.org/issues/3329
  https://www.illumos.org/issues/3330
  https://www.illumos.org/issues/3331
  https://www.illumos.org/issues/3335

Ported-by: Brian Behlendorf <behlendorf1@llnl.gov>
include/sys/metaslab_impl.h
include/sys/spa.h
include/sys/space_map.h
include/sys/zio_impl.h
module/zfs/metaslab.c
module/zfs/spa.c
module/zfs/spa_misc.c
module/zfs/space_map.c
module/zfs/zio.c