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_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_MAPLE tristate "Maple I/O scheduler" default y 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. 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_BFQ tristate "BFQ I/O scheduler" default n ---help--- The BFQ I/O scheduler tries to distribute bandwidth among all processes according to their weights. It aims at distributing the bandwidth as desired, independently of the disk parameters and with any workload. It also tries to guarantee low latency to interactive and soft real-time applications. If compiled built-in (saying Y here), BFQ can be configured to support hierarchical scheduling. config BFQ_GROUP_IOSCHED bool "BFQ hierarchical scheduling support" depends on CGROUPS && IOSCHED_BFQ=y default n ---help--- Enable hierarchical scheduling in BFQ, using the blkio controller. config IOSCHED_FIOPS tristate "IOPS based I/O scheduler" default y ---help--- This is an IOPS based I/O scheduler. It will try to distribute IOPS equally among all processes in the system. It's mainly for Flash based storage. config IOSCHED_FIFO tristate "FIFO I/O scheduler" default y ---help--- Fifo is similar to no-op I/O scheduler and it's a minimal scheduler that does basic merging and sorting. Ported from: https://github.com/AndroidDeveloperAlliance/ZenKernel_TUNA/blob/master/block/fifo-iosched.c config IOSCHED_SIOPLUS tristate "Simple I/O scheduler plus" 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_TRIPNDROID tristate "Tripndroid" default y ---help--- The Trip N Droid scheduler 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. 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 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_CFQ bool "CFQ" if IOSCHED_CFQ=y config DEFAULT_BFQ bool "BFQ" if IOSCHED_BFQ=y help Selects BFQ as the default I/O scheduler which will be used by default for all block devices. The BFQ I/O scheduler aims at distributing the bandwidth as desired, independently of the disk parameters and with any workload. It also tries to guarantee low latency to interactive and soft real-time applications. config DEFAULT_FIOPS bool "FIOPS" if IOSCHED_FIOPS=y config DEFAULT_NOOP bool "No-op" config DEFAULT_SIO bool "SIO" if IOSCHED_SIO=y config DEFAULT_FIFO bool "fifo" if IOSCHED_FIFO=y config DEFAULT_SIOPLUS bool "SIOPLUS" if IOSCHED_SIOPLUS=y config DEFAULT_TRIPNDROID bool "TRIPNDROID" if IOSCHED_TRIPNDROID=y config DEFAULT_VR bool "V(R)" if IOSCHED_VR=y config DEFAULT_ZEN bool "ZEN" if IOSCHED_ZEN=y config DEFAULT_MAPLE bool "Maple" if IOSCHED_MAPLE=y endchoice config DEFAULT_IOSCHED string default "deadline" if DEFAULT_DEADLINE default "cfq" if DEFAULT_CFQ default "bfq" if DEFAULT_BFQ default "fiops" if DEFAULT_FIOPS default "noop" if DEFAULT_NOOP default "sio" if DEFAULT_SIO default "fifo" if DEFAULT_FIFO default "sioplus" if DEFAULT_SIOPLUS default "tripndroid" if DEFAULT_TRIPNDROID default "vr" if DEFAULT_VR default "zen" if DEFAULT_ZEN default "maple" if DEFAULT_MAPLE endmenu endif