Disable write merging on ZVOLs
authorRageLtMan <rageltman [at] sempervictus>
Sat, 18 Mar 2017 04:51:36 +0000 (00:51 -0400)
committerBrian Behlendorf <behlendorf1@llnl.gov>
Thu, 4 May 2017 21:59:52 +0000 (17:59 -0400)
commit5731140eaf4aaf2526a8bfdbfe250195842e79eb
tree2427476343f5aef0e6a70973465086bba06d0f88
parent4cb932d95140e358426cb7ca8505ee5e66939bcc
Disable write merging on ZVOLs

The current ZVOL implementation does not explicitly set merge
options on ZVOL device queues, which results in the default merge
behavior.

Explicitly set QUEUE_FLAG_NOMERGES on ZVOL queues allowing the
ZIO pipeline to do its work.

Initial benchmarks (tiotest with no O_DIRECT) show random write
performance going up almost 3X on 8K ZVOLs, even after significant
rewrites of the logical space allocation.

Reviewed-by: Richard Yao <ryao@gentoo.org>
Reviewed-by: Chunwei Chen <david.chen@osnexus.com>
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Signed-off-by: RageLtMan <rageltman@sempervictus>
Issue #5902
module/zfs/zvol.c