Skip to content

Commit

Permalink
Added simple IO (SIO) scheduler
Browse files Browse the repository at this point in the history
  • Loading branch information
XDA Bam committed Feb 3, 2012
1 parent cdfc302 commit ac58068
Show file tree
Hide file tree
Showing 5 changed files with 365 additions and 0 deletions.
2 changes: 2 additions & 0 deletions Kernel/arch/arm/configs/android_latona_r08_eng_defconfig
Expand Up @@ -167,10 +167,12 @@ CONFIG_IOSCHED_NOOP=y
CONFIG_IOSCHED_DEADLINE=y
CONFIG_IOSCHED_CFQ=y
CONFIG_IOSCHED_BFQ=y
CONFIG_IOSCHED_SIO=y
# CONFIG_CGROUP_BFQIO is not set
# CONFIG_DEFAULT_DEADLINE is not set
# CONFIG_DEFAULT_CFQ is not set
CONFIG_DEFAULT_BFQ=y
# CONFIG_DEFAULT_SIO is not set
# CONFIG_DEFAULT_NOOP is not set
CONFIG_DEFAULT_IOSCHED="bfq"
# CONFIG_INLINE_SPIN_TRYLOCK is not set
Expand Down
2 changes: 2 additions & 0 deletions Kernel/arch/arm/configs/android_latona_r08_user_defconfig
Expand Up @@ -167,10 +167,12 @@ CONFIG_IOSCHED_NOOP=y
CONFIG_IOSCHED_DEADLINE=y
CONFIG_IOSCHED_CFQ=y
CONFIG_IOSCHED_BFQ=y
CONFIG_IOSCHED_SIO=y
# CONFIG_CGROUP_BFQIO is not set
# CONFIG_DEFAULT_DEADLINE is not set
# CONFIG_DEFAULT_CFQ is not set
CONFIG_DEFAULT_BFQ=y
# CONFIG_DEFAULT_SIO is not set
# CONFIG_DEFAULT_NOOP is not set
CONFIG_DEFAULT_IOSCHED="bfq"
# CONFIG_INLINE_SPIN_TRYLOCK is not set
Expand Down
14 changes: 14 additions & 0 deletions Kernel/block/Kconfig.iosched
Expand Up @@ -65,6 +65,16 @@ config CGROUP_BFQIO
filesystem interface. The name of the subsystem will be
bfqio.

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 @@ -81,6 +91,9 @@ choice
config DEFAULT_BFQ
bool "BFQ" if IOSCHED_BFQ=y

config DEFAULT_SIO
bool "SIO" if IOSCHED_SIO=y

config DEFAULT_NOOP
bool "No-op"

Expand All @@ -91,6 +104,7 @@ config DEFAULT_IOSCHED
default "deadline" if DEFAULT_DEADLINE
default "cfq" if DEFAULT_CFQ
default "bfq" if DEFAULT_BFQ
default "sio" if DEFAULT_SIO
default "noop" if DEFAULT_NOOP

endmenu
Expand Down
1 change: 1 addition & 0 deletions Kernel/block/Makefile
Expand Up @@ -13,6 +13,7 @@ obj-$(CONFIG_IOSCHED_NOOP) += noop-iosched.o
obj-$(CONFIG_IOSCHED_DEADLINE) += deadline-iosched.o
obj-$(CONFIG_IOSCHED_CFQ) += cfq-iosched.o
obj-$(CONFIG_IOSCHED_BFQ) += bfq-iosched.o
obj-$(CONFIG_IOSCHED_SIO) += sio-iosched.o

obj-$(CONFIG_BLOCK_COMPAT) += compat_ioctl.o
obj-$(CONFIG_BLK_DEV_INTEGRITY) += blk-integrity.o

0 comments on commit ac58068

Please sign in to comment.