Permalink
Browse files

Add Simple, V(R) IO schedulers

  • Loading branch information...
1 parent 05c86d3 commit aa064321b16f216f6a3ed9a07f4d0ef3ff483486 @psyke83 committed Sep 18, 2011
Showing with 828 additions and 0 deletions.
  1. +34 −0 block/Kconfig.iosched
  2. +2 −0 block/Makefile
  3. +346 −0 block/sio-iosched.c
  4. +446 −0 block/vr-iosched.c
View
@@ -62,6 +62,32 @@ config CGROUP_BFQIO
filesystem interface. The name of the subsystem will be
bfqio.
+config DEBUG_CFQ_IOSCHED
+ bool "Debug CFQ Scheduling"
+ depends on CFQ_GROUP_IOSCHED
+ select DEBUG_BLK_CGROUP
+ default n
+ ---help---
+ Enable CFQ IO scheduling debugging in CFQ. Currently it makes
+ blktrace output more verbose.
+
+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 IOSCHED_VR
+ tristate "V(R) I/O scheduler"
+ default y
+ ---help---
+ Requests are chosen according to SSTF with a penalty of rev_penalty
+ for switching head direction.
+
choice
prompt "Default I/O scheduler"
default DEFAULT_CFQ
@@ -81,6 +107,12 @@ choice
config DEFAULT_BFQ
bool "BFQ" if IOSCHED_BFQ=y
+ config DEFAULT_SIO
+ bool "SIO" if IOSCHED_SIO=y
+
+ config DEFAULT_VR
+ bool "V(R)" if IOSCHED_VR=y
+
config DEFAULT_NOOP
bool "No-op"
@@ -93,6 +125,8 @@ config DEFAULT_IOSCHED
default "cfq" if DEFAULT_CFQ
default "bfq" if DEFAULT_BFQ
default "noop" if DEFAULT_NOOP
+ default "vr" if DEFAULT_VR
+ default "sio" if DEFAULT_SIO
endmenu
View
@@ -12,7 +12,9 @@ obj-$(CONFIG_IOSCHED_NOOP) += noop-iosched.o
obj-$(CONFIG_IOSCHED_AS) += as-iosched.o
obj-$(CONFIG_IOSCHED_DEADLINE) += deadline-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_IOSCHED_VR) += vr-iosched.o
obj-$(CONFIG_BLOCK_COMPAT) += compat_ioctl.o
obj-$(CONFIG_BLK_DEV_INTEGRITY) += blk-integrity.o
Oops, something went wrong.

0 comments on commit aa06432

Please sign in to comment.