diff options
author | Brian Behlendorf <[email protected]> | 2011-02-07 13:54:59 -0800 |
---|---|---|
committer | Brian Behlendorf <[email protected]> | 2011-02-10 09:27:22 -0800 |
commit | 6839eed23e3c9d85cf0de767be32af0759e5bf2d (patch) | |
tree | fa4f2992b08736faec1179d68a7000c467297f3f /include/sys | |
parent | 4db77a74a6a26c57a04f98c4a23b9fda9319ba9f (diff) |
Use 'noop' IO Scheduler
Initial testing has shown the the right IO scheduler to use under Linux
is noop. This strikes the ideal balance by allowing the zfs elevator
to do all request ordering and prioritization. While allowing the
Linux elevator to do the maximum front/back merging allowed by the
physical device. This yields the largest possible requests for the
device with the lowest total overhead.
While 'noop' should be right for your system you can choose a different
IO scheduler with the 'zfs_vdev_scheduler' option. You may set this
value to any of the standard Linux schedulers: noop, cfq, deadline,
anticipatory. In addition, if you choose 'none' zfs will not attempt
to change the IO scheduler for the block device.
Diffstat (limited to 'include/sys')
-rw-r--r-- | include/sys/vdev_disk.h | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/include/sys/vdev_disk.h b/include/sys/vdev_disk.h index 021e66d1a..03e7048ac 100644 --- a/include/sys/vdev_disk.h +++ b/include/sys/vdev_disk.h @@ -81,6 +81,9 @@ extern int vdev_disk_read_rootlabel(char *, char *, nvlist_t **); # define vdev_bdev_block_size(bdev) bdev_hardsect_size(bdev) #endif +/* Default Linux IO Scheduler */ +#define VDEV_SCHEDULER "noop" + #endif /* _KERNEL */ #ifdef __cplusplus |