| 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_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_CFQ | |
| bool "CFQ" if IOSCHED_CFQ=y | |
| config DEFAULT_NOOP | |
| bool "No-op" | |
| endchoice | |
| config DEFAULT_IOSCHED | |
| string | |
| default "deadline" if DEFAULT_DEADLINE | |
| default "cfq" if DEFAULT_CFQ | |
| default "noop" if DEFAULT_NOOP | |
| endmenu | |
| endif |