mirror of
https://github.com/team-infusion-developers/android_kernel_samsung_msm8976.git
synced 2024-11-01 10:33:27 +00:00
30984a303e
The new request notification test checks the following scenario: A new request arrives after a NULL request was sent to the mmc_queue, which is waiting for completion of a former request. Change-Id: I05db0959ded400e292eb5e84e1ecfc579b78ee62 Signed-off-by: Konstantin Dorfman <kdorfman@codeaurora.org> Signed-off-by: Lee Susman <lsusman@codeaurora.org>
101 lines
2.8 KiB
Text
101 lines
2.8 KiB
Text
if BLOCK
|
|
|
|
menu "IO Schedulers"
|
|
|
|
config IOSCHED_NOOP
|
|
bool
|
|
default y
|
|
---help---
|
|
The no-op I/O scheduler is a minimal scheduler that does basic merging
|
|
and sorting. Its main uses include non-disk based block devices like
|
|
memory devices, and specialised software or hardware environments
|
|
that do their own scheduling and require only minimal assistance from
|
|
the kernel.
|
|
|
|
config IOSCHED_TEST
|
|
tristate "Test I/O scheduler"
|
|
depends on DEBUG_FS
|
|
default m
|
|
---help---
|
|
The test I/O scheduler is a duplicate of the noop scheduler with
|
|
addition of test utlity.
|
|
It allows testing a block device by dispatching specific requests
|
|
according to the test case and declare PASS/FAIL according to the
|
|
requests completion error code.
|
|
|
|
config IOSCHED_DEADLINE
|
|
tristate "Deadline I/O scheduler"
|
|
default y
|
|
---help---
|
|
The deadline I/O scheduler is simple and compact. It will provide
|
|
CSCAN service with FIFO expiration of requests, switching to
|
|
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"
|
|
default 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 calculated
|
|
according to queue priority.
|
|
Most suitable for mobile devices.
|
|
|
|
config IOSCHED_CFQ
|
|
tristate "CFQ I/O scheduler"
|
|
default y
|
|
---help---
|
|
The CFQ I/O scheduler tries to distribute bandwidth equally
|
|
among all processes in the system. It should provide a fair
|
|
and low latency working environment, suitable for both desktop
|
|
and server systems.
|
|
|
|
This is the default I/O scheduler.
|
|
|
|
config CFQ_GROUP_IOSCHED
|
|
bool "CFQ Group Scheduling support"
|
|
depends on IOSCHED_CFQ && BLK_CGROUP
|
|
default n
|
|
---help---
|
|
Enable group IO scheduling in CFQ.
|
|
|
|
choice
|
|
prompt "Default I/O scheduler"
|
|
default DEFAULT_CFQ
|
|
help
|
|
Select the I/O scheduler which will be used by default for all
|
|
block devices.
|
|
|
|
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_NOOP
|
|
bool "No-op"
|
|
|
|
endchoice
|
|
|
|
config DEFAULT_IOSCHED
|
|
string
|
|
default "deadline" if DEFAULT_DEADLINE
|
|
default "row" if DEFAULT_ROW
|
|
default "cfq" if DEFAULT_CFQ
|
|
default "noop" if DEFAULT_NOOP
|
|
|
|
endmenu
|
|
|
|
endif
|