Initial SPH-L710 JB Source
/block/Kconfig.iosched
blob:3199b76f795de33f9db31e140aad75a716a51d44 -> blob:35be003f25301cf557ed29b0a4f0a7d6e54b65e8
--- block/Kconfig.iosched
+++ block/Kconfig.iosched
@@ -21,6 +21,16 @@ config IOSCHED_DEADLINE
a new point in the service tree and doing a batch of IO from there
in case of expiry.
+config IOSCHED_ROW
+ tristate "ROW I/O scheduler"
+ ---help---
+ The ROW I/O scheduler gives priority to READ requests over the
+ WRITE requests when dispatching, without starving WRITE requests.
+ Requests are kept in priority queues. Dispatching is done in a RR
+ manner when the dispatch quantum for each queue is calculated
+ according to queue priority.
+ Most suitable for mobile devices.
+
config IOSCHED_CFQ
tristate "CFQ I/O scheduler"
# If BLK_CGROUP is a module, CFQ has to be built as module.
@@ -43,6 +53,29 @@ 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).
+
+config IOSCHED_ZEN
+ tristate "Zen I/O scheduler"
+ default y
+ ---help---
+ FCFS, dispatches are back-inserted, deadlines ensure fairness.
+ Should work best with devices where there is no travel delay.
choice
prompt "Default I/O scheduler"
default DEFAULT_CFQ
@@ -53,20 +86,42 @@ choice
config DEFAULT_DEADLINE
bool "Deadline" if IOSCHED_DEADLINE=y
+ config DEFAULT_ROW
+ bool "ROW" if IOSCHED_ROW=y
+ help
+ The ROW I/O scheduler gives priority to READ requests
+ over the WRITE requests when dispatching, without starving
+ WRITE requests. Requests are kept in priority queues.
+ Dispatching is done in a RR manner when the dispatch quantum
+ for each queue is defined according to queue priority.
+ Most suitable for mobile devices.
+
config DEFAULT_CFQ
bool "CFQ" if IOSCHED_CFQ=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"
-
+
+ config DEFAULT_ZEN
+ bool "ZEN" if IOSCHED_ZEN=y
endchoice
config DEFAULT_IOSCHED
string
default "deadline" if DEFAULT_DEADLINE
+ default "row" if DEFAULT_ROW
default "cfq" if DEFAULT_CFQ
+ default "sio" if DEFAULT_SIO
+ default "vr" if DEFAULT_VR
default "noop" if DEFAULT_NOOP
-
+ default "zen" if DEFAULT_ZEN
+
endmenu
endif