diff options
author | Justin T. Gibbs <[email protected]> | 2015-04-11 14:51:06 -0400 |
---|---|---|
committer | Brian Behlendorf <[email protected]> | 2015-04-24 15:16:56 -0700 |
commit | ec8501ee1274205f277a7287c3de8119d361afaf (patch) | |
tree | eaf3ba75d849fa44a96b0c2bbb000c9fc3991fe9 /include | |
parent | 0bf8501ae1f7c995d54c6061d8da29419ec4fed0 (diff) |
5313 Allow I/Os to be aggregated across ZIO priority classes
Reviewed by: Andriy Gapon <[email protected]>
Reviewed by: Will Andrews <[email protected]>
Reviewed by: Matt Ahrens <[email protected]>
Reviewed by: George Wilson <[email protected]>
Approved by: Robert Mustacchi <[email protected]>
References:
https://www.illumos.org/issues/5313
https://github.com/illumos/illumos-gate/commit/fe319232
Ported-by: DHE <[email protected]>
Signed-off-by: Brian Behlendorf <[email protected]>
Closes #3280
Diffstat (limited to 'include')
-rw-r--r-- | include/sys/vdev_impl.h | 2 | ||||
-rw-r--r-- | include/sys/zio.h | 1 |
2 files changed, 3 insertions, 0 deletions
diff --git a/include/sys/vdev_impl.h b/include/sys/vdev_impl.h index a8dc9510e..1048dec5e 100644 --- a/include/sys/vdev_impl.h +++ b/include/sys/vdev_impl.h @@ -113,6 +113,8 @@ struct vdev_queue { vdev_t *vq_vdev; vdev_queue_class_t vq_class[ZIO_PRIORITY_NUM_QUEUEABLE]; avl_tree_t vq_active_tree; + avl_tree_t vq_read_offset_tree; + avl_tree_t vq_write_offset_tree; uint64_t vq_last_offset; hrtime_t vq_io_complete_ts; /* time last i/o completed */ hrtime_t vq_io_delta_ts; diff --git a/include/sys/zio.h b/include/sys/zio.h index 18e7a40a3..0368d9c59 100644 --- a/include/sys/zio.h +++ b/include/sys/zio.h @@ -427,6 +427,7 @@ struct zio { hrtime_t io_delta; /* vdev queue service delta */ uint64_t io_delay; /* vdev disk service delta (ticks) */ avl_node_t io_queue_node; + avl_node_t io_offset_node; /* Internal pipeline state */ enum zio_flag io_flags; |