Permalink
Browse files

added Simple I/O scheduler

1 parent bd31910 commit 8c13ea91070ff072a64de4358d0429e35697678d @broodplank committed Feb 18, 2013
Showing with 416 additions and 0 deletions.
  1. +14 −0 block/Kconfig.iosched
  2. +1 −0 block/Makefile
  3. +401 −0 block/sio-iosched.c
View
@@ -47,6 +47,16 @@ config IOSCHED_CFQ
Note: If BLK_CGROUP=m, then CFQ can be built only as module.
+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).
+
config CFQ_GROUP_IOSCHED
bool "CFQ Group Scheduling support"
depends on IOSCHED_CFQ && BLK_CGROUP
@@ -105,6 +115,9 @@ choice
config DEFAULT_NOOP
bool "No-op"
+ config DEFAULT_SIO
+ bool "SIO" if IOSCHED_SIO=y
+
endchoice
config DEFAULT_IOSCHED
@@ -114,6 +127,7 @@ config DEFAULT_IOSCHED
default "cfq" if DEFAULT_CFQ
default "bfq" if DEFAULT_BFQ
default "noop" if DEFAULT_NOOP
+ default "sio" if DEFAULT_SIO
endmenu
View
@@ -14,6 +14,7 @@ obj-$(CONFIG_IOSCHED_NOOP) += noop-iosched.o
obj-$(CONFIG_IOSCHED_DEADLINE) += deadline-iosched.o
obj-$(CONFIG_IOSCHED_ROW) += row-iosched.o
obj-$(CONFIG_IOSCHED_CFQ) += cfq-iosched.o
+obj-$(CONFIG_IOSCHED_SIO) += sio-iosched.o
obj-$(CONFIG_IOSCHED_BFQ) += bfq-iosched.o
obj-$(CONFIG_BLOCK_COMPAT) += compat_ioctl.o
Oops, something went wrong.

0 comments on commit 8c13ea9

Please sign in to comment.