Skip to content

Commit

Permalink
sio and vr io-scheduler added
Browse files Browse the repository at this point in the history
  • Loading branch information
DJNoXD committed Apr 3, 2012
1 parent 317a0bd commit 9146988
Show file tree
Hide file tree
Showing 3 changed files with 29 additions and 1 deletion.
25 changes: 25 additions & 0 deletions block/Kconfig.iosched
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,23 @@ config CFQ_GROUP_IOSCHED
---help---
Enable group IO scheduling in CFQ.

config IOSCHED_VR
tristate "V(R) I/O scheduler"
default n
---help---
Requests are chosen according to SSTF with a penalty of rev_penalty
for switching head direction.

config IOSCHED_SIO
tristate "Simple I/O scheduler"
default y
---help---
The Simple I/O scheduler is an extremely simple scheduler,
based on noop and deadline, that relies on deadlines to
ensure fairness. The algorithm does not do any sorting but
basic merging, trying to keep a minimum overhead. It is aimed
mainly for aleatory access devices (eg: flash devices).

choice
prompt "Default I/O scheduler"
default DEFAULT_CFQ
Expand All @@ -58,6 +75,12 @@ choice

config DEFAULT_NOOP
bool "No-op"

config DEFAULT_VR
bool "V(R)" if IOSCHED_VR=y

config DEFAULT_SIO
bool "SIO" if IOSCHED_SIO=y

endchoice

Expand All @@ -66,6 +89,8 @@ config DEFAULT_IOSCHED
default "deadline" if DEFAULT_DEADLINE
default "cfq" if DEFAULT_CFQ
default "noop" if DEFAULT_NOOP
default "vr" if DEFAULT_VR
default "sio" if DEFAULT_SIO

endmenu

Expand Down
3 changes: 3 additions & 0 deletions block/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,9 @@ obj-$(CONFIG_BLK_DEV_THROTTLING) += blk-throttle.o
obj-$(CONFIG_IOSCHED_NOOP) += noop-iosched.o
obj-$(CONFIG_IOSCHED_DEADLINE) += deadline-iosched.o
obj-$(CONFIG_IOSCHED_CFQ) += cfq-iosched.o
obj-$(CONFIG_IOSCHED_VR) += vr-iosched.o
obj-$(CONFIG_IOSCHED_SIO) += sio-iosched.o


obj-$(CONFIG_BLOCK_COMPAT) += compat_ioctl.o
obj-$(CONFIG_BLK_DEV_INTEGRITY) += blk-integrity.o
2 changes: 1 addition & 1 deletion block/deadline-iosched.c
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@
*/
static const int read_expire = HZ / 2; /* max time before a read is submitted. */
static const int write_expire = 5 * HZ; /* ditto for writes, these limits are SOFT! */
static const int writes_starved = 2; /* max times reads can starve a write */
static const int writes_starved = 1; /* max times reads can starve a write */
static const int fifo_batch = 16; /* # of sequential requests treated as one
by the above parameters. For throughput. */

Expand Down

0 comments on commit 9146988

Please sign in to comment.